Mushfiqur Rahim hit his third Test double century as Bangladesh declared their first innings with a lead of 295 on Monday in their one-off match against Zimbabwe.
Bangladesh ended their innings on 560 for six in the final session before spinner Nayeem Hasan then claimed two wickets in two balls in the first over.
The visitors reached nine for two at stumps on the third day, still needing 286 runs to make Bangladesh bat again on a wearing pitch at the Sher-e-Bangla National Stadium.
Mushfiqur, who became the became the highest run-scorer for Bangladesh in Tests, hit an unbeaten 203, while skipper Mominul Haque made 132, after the hosts resumed on 240 for three.
Mushfiqur and Mominul added 222 for the fourth wicket, while wicketkeeper-batsman Liton Das made 53 to give the hosts their highest-ever total against Zimbabwe.
Mominul declared the innings soon after Mushfiqur reached the 200-run mark after Ainsley Ndlovu past extra cover for a boundary.