Stand-in skipper Mahmudullah hit a century after eight years as Bangladesh declared on 224 for 6 in the second innings to set Zimbabwe a target of 443 to win the second Test. Like the first innings, the hosts also suffered early disaster, losing the top three batsmen on 10, and then Mushfiqur Rahim on 25.
Debutant Mohammad Mithun and Mahmudullah then added 118 in the fifth wicket to strengthen Bangladeshs grip on the game.
Mithuns innings ended on 67 when Sikandar Raza struck, the batsman hit four fours and a six in his 110-ball effort. Mahmudullah completed his century in 112 balls and decalred the innings immediately. The Bangladesh captains knock featured four fours and two sixes.
In the monring, he had opted not to make the visitors follow on and instead chose to make them chase in the fourth innings.