Left-arm spinner Taijul Islam claimed his third consecutive five-wicket haul on Tuesday to put Bangladesh in command in the second Test against Zimbabwe despite a defiant century by Brendon Taylor in Dhaka.
The home side bowled out Zimbabwe for 304 runs in the first innings to take a 218-run lead after they had declared their own innings for a mammoth 522-7 the previous afternoon.
Zimbabwe need only a draw to win their first Test series in seven years, with the visitors having won the opening match in Sylhet by 151 runs, their first Test win away in almost two decades.
Taijul dismissed Regis Chakabva for 10 to complete his haul and Zimbabwe's innings ended immediately, 19 short of the follow-on mark as last man Tendai Chatara was unable to bat due to injury.
Zimbabwe edged towards avoiding the follow-on once Taylor hit 110 off 194 balls and Peter Moor added a career-best 83 to rescue the side from a precarious 131-5 in the final session.
Bangladesh had occasional medium pacer Ariful Haque to thank for breaking Moor's 139-run sixth-wicket partnership with Taylor when he trapped the right-hander leg before in his first over.
Moor, who was dropped on 75 by substitute fielder Nazmul Islam at cover off Mustfizur Rahman, hit 12 fours and a six in his fifth Test 50, his second successive half-century in the series.
Taylor brought up his hundred off Taijul but off-spinner Mehedy Hasan soon ended his innings to put Bangladesh back in control.
Taijul took a stunning catch at square leg to end the fine innings off Taylor, who hit 10 fours in his fifth Test century -- his first ever away from home.
Bangladesh also dominated the opening two sessions of the day after Zimbabwe resumed play on 25-1.
Brian Chari led Zimbabwe's initial resistance, hitting 53 off 128 balls before he was snared by Mehidy on the stroke of lunch.
Mominul Haque took the catch at short leg that was confirmed by television replay after Bangladesh reviewed the initial not out decision.
Taijul dismissed nightwatchman Donald Tiripano for eight early in the morning but Chari provided some counter-punch, hitting six fours and two sixes in his second Test fifty.