Bangladesh, needing a victory to draw the series, resumed in a strong position on 303-5 after Mushfiqur and Mominul Haque (161) rescued them from 26-3 on day one.

Mahmudullah (36) and Mushfiqur scored slowly in a wicketless opening session and Jarvis got the breakthrough when the captain was caught behind just after lunch.

Jarvis had a third five-wicket Test haul when he got rid of Ariful Haque (4), but he was unable to remove the brilliant Mushfiqur and Mehidy.

Mehidy reached his half-century in style by creaming Sikandar Raza down the ground for six and Mushfiqur punched the air after bringing up his second Test double century with a pull for a single later in the over.

Zimbabwe lost bowler Tendai Chatara to injury and Masakadza edged Taijul to Mehidy in the slips for 14 after Mahmudullah declared on a painful day for Zimbabwe.