Bangladesh were bowled out for 134 in their first innings on Friday, losing nine wickets for 39 runs to leave a Brendan Taylor-inspired Zimbabwe 442 runs ahead at stumps and in complete control of the opening Test.
Bangladesh slid from 95-1 overnight to 134-6 at lunch on the third day at Harare Sports Club and then were all out without adding another run. The series-opener suddenly swung convincingly in Zimbabwe's favour as the tourists crashed and were left facing the highest ever successful run chase to win a Test.
Skipper Taylor was 81 not out in Zimbabwe's second innings and closing in on becoming just the third Zimbabwean to make a century in both innings of a Test after his 171 in the first innings.
Despite their own second-innings slump, Zimbabwe reached 187-7 at stumps having posted 389 in the first innings for a huge lead with two days to play and a good chance at just a second Test win since their return to the longer format in 2011 after a six-year exile.
Zimbabwe's last win was against fellow lowly ranked Bangladesh in their comeback match two years ago.
After his century in the first innings, Taylor was the one batsman to conquer the bowlers on Friday and throughout the match. He has made 252 runs in this Test so far and has two centuries and two half-centuries in his last four Test innings against Bangladesh.
Only the Flower brothers, Grant and Andy, have scored a hundred in each innings of a Test for Zimbabwe.
Earlier, none of Bangladesh's last eight batsmen reached double figures as seamers Shingirai Masakadza and Kyle Jarvis collected four wickets each and ripped the tourists out after they had made solid progress on Thursday afternoon.
In the end, 16 wickets fell on Friday with Graeme Cremer's late run out for 43 and after his 79-run stand with Taylor pushed Zimbabwe way ahead.
Masakadza's (4-32) burst of three Bangladesh wickets just before lunch, and Jarvis' (4-40) work to clean up the tail in the three overs after lunch gave Zimbabwe a 253-run first-innings lead.
Robiul Islam took 6-55 in Zimbabwe's second innings as the hosts stumbled to 84-6 at one point, but the unrelenting Taylor again saved his team and took it well past a 400-run lead.