The hosts raced to 126-2 in under 16 overs after bowling out Zimbabwe for 124, with Towhid Hridoy finishing unbeaten on 33.
Tanzid smashed eight fours and two sixes in his 47-ball maiden T20I, lofting Luke Jongwe over mid-off for a boundary to complete the match.
“Everyone played well today but we can still learn from this game and come back well in the next match,” said Bangladesh captain Najmul Hossain Shanto.
“Last couple of days, we trained very hard, and I hope that Tanzid continues his form.”
A record stand by Clive Madande and Wellington Masakadza earlier helped Zimbabwe recover from an early collapse that left the tourists languishing on 41-7.
Zimbabwe’s highest eighth-wicket
The pair put on 75 runs together for Zimbabwe’s highest eighth-wicket partnership.
Taskin Ahmed bowled Madande for 43 off 39 balls to break the stand, but Masakadza (34) stayed at the crease until he was run out on the last ball of the innings.
Put into bat first, Zimbabwe lost Craig Ervine for a duck in the second over.
Mohammad Saifuddin then forced debutant fellow opener Joylord Gumbie (17) to give a catch to Taskin at fine leg.
Mahedi Hasan’s next over saw Brian Bennett run out for 16 with skipper Sikandar Raza out leg before first-ball.
Taskin also sent back Sean Williams and Ryan Burl, both of them going for golden ducks to make it three in the innings, off back-to-back deliveries in the following over, and Saifuddin dismissed Luke Jongwe for two.
“A lot of seniors went missing, we depend heavily on them in batting and they missed out,” said Zimbabwe captain Sikandar Raza.
“But hopefully we’ll get back better in the next game.”
Madande was given leg before off Saifuddin on 28 but the decision was reversed after review.
Chittagong hosts the second match of the series between Bangladesh and Zimbabwe on Sunday.
The series is Bangladesh’s last before next month’s T20 World Cup, jointly hosted by the United States and West Indies.