Zimbabwe's seam attack bowled them into a strong position as 16 wickets fell on day three of the first Test against Bangladesh in Harare.
Bangladesh collapsed from an overnight 95-1 to 134 all out to concede a first-innings deficit of 255, Kyle Jarvis and Shingi Masakadza doing most of the damage.
Zimbabwe declined to enforce the follow-on and reached 187-7 in their second innings by the close, a lead of 442, with their skipper Brendan Taylor adding an unbeaten 81 to his first-innings 171.
Bangladesh's second-wicket pair Jahurul Islam and Mohammad Ashraful appeared in little trouble during the first 10 overs of the day but that all changed when Keegan Meth (2-41) trapped Jahurul Islam lbw for 43.
That was the first on nine wickets to go down for 32 runs - including the last five without addition to the score - as the tourists were all out on the stroke of lunch.
Masakadza, playing in his second Test, accounted for Ashraful (38) in his 4-32 haul, while Jarvis ran through the tail for figures of 4-40.
Zimbabwe also struggled with the bat during the remainder of the day as seamer Robiul Islam struck regular blows.
Robiul finished the day with 6-55 - already his career-best figures - although he could not get rid of Taylor, who struck four fours and a six in his 128-ball knock.
Taylor and Graeme Cremer put on 79 for the seventh wicket after Zimbabwe slumped to 84-6 when Robiul removed Elton Chigumbura (27) and Richmond Mutumbami (0) with successive deliveries.
Cremer was run out for 43 late in the day after a mix-up that saw Taylor send him back and then call him through for an overthrow.