Robiul Islam claimed five wickets as Bangladesh took control of the second Test against Zimbabwe at the close of day three at Harare Sports Club on Saturday.
Bangladesh had reached 163 for five in their second innings at stumps, an overall lead of 272 in the match.
The platform was laid by a fiery bowling display from Robiul Islam, who returned figures of five for 85 as the tourists dismissed Zimbabwe for 282 in their first innings.
Shakib Al Hasan then scored his second half-century of the game with a fighting 59, while captain Mushfiqur Rahim did likewise as he finished the day unbeaten on 50.
With two days still remaining and the weather set fair, it seems likely there will be a result on a wicket that is still offering plenty of assistance to the pace bowlers.
"The first hour in the morning the wicket always does a little bit more and I am hoping we can come back," Zimbabwe fast bowler Shingi Masakadza told a TV interview. "I was able to extract some good bounce with the new ball and get it to move. There is enough in the wicket."
Zimbabwe resumed in the morning on 158 for four overnight and were boosted by a career-best 86 from Elton Chigumbura. He received good support from wicketkeeper Richmond Mutumbami (42) to take Zimbabwe past the follow-on mark and then post a first innings score that they would have felt kept them in the game.
That was certainly the case when they reduced Bangladesh to 18 for three in their second innings, but Shakib and Mushfiqur added 84 for the fifth wicket to put the tourists in command.
"We don't want them to get much more than a 300 lead, that would make it very difficult for us," Masakadza admitted.
Bangladesh first innings 391
Zimbabwe first innings (158 for four overnight)
V Sibanda c Mushfiqur Rahim b Robiul Islam 10
R Chakabva c Mushfiqur Rahim b Robiul Islam 12
H Masakadza b Shakib Al Hasan 14
B Taylor c Shakib Al Hasan b Sohag Gazi 36
M Waller c Shakib Al Hasan b Sohag Gazi 32
E Chigumbura b Robiul Islam 86
R Mutumbani lbw Robiul Islam 42
G Cremer not out 11
K Meth c Mushfiqur Rahim b Sohag Gazi 16
S Masakadza c Mushfiqur Rahim b Robiul Islam 5
K Jarvis b Sohag Gazi 0
Extras (b-5, lb-11, w-1, nb-1) 18
Total (all out, 96 overs) 282
Fall of wickets: 1-23, 2-26, 3-45, 4-97, 5-163, 6-248, 7-257, 8-274, 9-281
Bowling: Robiul Islam 33-11-85-5 (w1, nb1), Sajidul Islam 16-5-48-0, Ziaur Rahman 7-3-8-0, Shakib Al Hasan 19-4-66-1, Sohag Gazi 19-1-59-4, Mohammad Ashraful 2-2-0-0.
Bangladesh second innings
Tamim Iqbal c Mutumbami b S Masakadza 7
Jahurul Islam c Mutumbami b S Masakadza 2
Mohammad Ashraful lbw Jarvis 4
Mominul Haque c H Masakadza b S Masakadza 29
Shakib Al Hasan c Mutumbami b H Masakadza 59
Mushfiqur Rahim not out 50
Nasir Hossain not out 6
Extras (lb-2, w-1, nb-3) 6
Total (for five wickets, 49 overs) 163
Fall of wickets: 1-7, 2-12, 3-18, 4-65, 5-149
Bowling: K Jarvis 12-0-52-1 (nb2), S Masakadza 14-2-33-3 (nb1), G Cremer 8-1-34-0, E Chigumbura 10-0-32-0, H Masakadza 5-0-10-1 (w1)
Photograph: Julian Herbert/Getty Images