Mahmudullah scored an unbeaten century as Bangladesh made strides towards victory on day four of the second Test against Zimbabwe in Dhaka.

Bangladesh captain Mahmudullah (101 not out) got his first Test hundred since February 2010 as the hosts set a target of 443 by declaring on 224-6, and they made in-roads as Zimbabwe lost two wickets before stumps.

Zimbabwe's outlook would have been optimistic earlier on Wednesday, with Kyle Jarvis (2-27) claiming the wickets of Imrul Kayes (3) and Liton Das (6) in the space of three balls before Donald Tiripano (2-31) dismissed Mominul Haque (1) and Mushfiqur Rahim (7) to leave Bangladesh in trouble on 25-4.

However, Mahmudullah and Mohammad Mithun (67) stopped the rot with a fifth-wicket stand of 118.

The skipper found the ropes four times and added a pair of maximums to anchor the hosts' innings, with Mehidy Hasan (27 off 34) proving a capable deputy after Ariful Haque went for five.

Zimbabwe's hopes of claiming a second victory had already taken a hit, and they suffered a further setback with opening duo Hamilton Masakadza (25) and Brian Chari (43) falling in the final session.

The visitors closed on 76-2, trailing by 367, and will have to produce a stunning effort on day five if they are to even hold out for a draw.