Bangladesh need six wickets to level series
Zimbabwe 282 and 138 for 4 (H Masakadza 46*) need another 263 runs to beat Bangladesh 391 and 291 for 9 dec (Mushfiqur 93, Nasir 67*, Shakib 59, S Masakadza 4-58)
Scorecard and ball-by-ball details
The moment Ziaur Rahman hit Brendan Taylor's pad in front of the stumps and the umpire raised his finger, Bangladesh were closer to a rare Test win. At the end of the fourth day of the second and final Test, Zimbabwe were 138 for 4, chasing a 401-run target set up by Mushfiqur Rahim's 93.
The Zimbabwe captain's wicket was the one Mushfiqur would have wanted more than the seven runs by which he missed his third Test hundred. After umpire Ian Gould lifted his finger, it was easy to see and hear what it meant to the fielding side which was screaming for joy. Zimbabwe were 96 for 3, with their best batsman and captain out of the equation with a day remaining.
Malcolm Waller also fell to Ziaur for 15, missing a straightening delivery as his lack of footwork shackled him to the crease. Shingirai Masakadza was sent in as the nightwatchman at 118 for 4 with more than 15 overs remaining in the day, a strange decision but one which ultimately paid off. His elder brother Hamilton held his own at the other end, unbeaten on 46 off 94 balls.
Zimbabwe started the fourth innings positively but in the tenth over, Regis Chakabva played inside the line of a Shakib Al Hasan delivery which spun past to strike off. Vusi Sibanda fell soon after for a 50-ball 32, driving one straight to Sohag Gazi at short cover off Shakib.
Mushfiqur would thank his lucky stars that finally bowlers other than Robiul Islam stood up. Ziaur bowled a 10-over spell, mainly focused on being accurate. He hardly has pace like he did a few years ago, but managed to bring in his shoulders to generate speed. Shakib and Gazi bowled tightly too, both using a typical left-arm spinner and offspinner's line. There was hardly a loose ball.
Bangladesh declared about an hour after lunch on 291 for 9, going ahead of the home side by exactly 400 runs. Shakib, Mushfiqur and Nasir Hossain hit their second fifties of the game.
Nasir stretched the lead with the tail, making an unbeaten 67 and scoring most of the 40 runs that came after lunch. Apart from his effort, Bangladesh's dominance was also due to captain Mushfiqur's attentiveness to the situation.
He made 93 before being brilliantly caught at gully by Sibanda off Hamilton Masakadza, and his persistence was crucial to his side's staying power. Along with Nasir, he had to see off the first half-hour, which has often produced wickets in Harare. Though they hardly found boundaries because the home side had deep fielders on both sides, they played carefully. Zimbabwe bowled wide too, and the batsmen cut out the rash shots.
Mushfiqur and Nasir were happy picking up singles until the captain began to open up with a mistimed scoop and a slog-sweep - both off Elton Chigumbura. He had earlier hit a cover drive that sped to the boundary but the wicket had slowed down, and bounce was also on the low side. He and Nasir added 84 for the sixth wicket, back-to-back 80-plus partnerships for Mushfiqur, after his fifth-wicket stand with Shakib on the third evening.
Taylor missed the long hours put in by Keegan Meth, who is out with a right knee injury. He was seen sitting on the sidelines with his feet up and knee strapped. Hamilton Masakadza, bowling medium-pace, took three wickets but was never going to be as big a threat to the visitors. Kyle Jarvis did not bowl with the venom of the first Test, but Shingi Masakadza remained steady and picked up four wickets.
Had the Zimbabwe bowlers put up a better show even on the fourth morning, the Test match could have remained competitive. Bangladesh got most of what happened on the fourth day their way, though there again was the odd leg-before decision that they were denied. They would still take it, given they are closing in on a Test win for the first time in nearly four years.
Mohammad Isam is ESPNcricinfo's Bangladesh correspondent. He tweets here