They got home with just four balls to spare, grabbing the final Bangladesh wicket with a boundary catch when the tourists needed only six runs to win themselves.
Zimbabwe, having been put into bat, made 250 for seven wickets down, with Bangladesh 245 all out in reply as darkness was closing in.
Zimbabwe captain Brendan Taykor said afterwards: “This was absolutely awesome, the most exhilarating match of my life and the most dramatic for all Zimbabweans.
“I was never sure we had enough with our 250 runs effort and so it almost proved. It just shows that you never know in cricket. I am really proud of the team for sticking to their guns, not just in this match but for the entire tour so far.”
A century in exactly 100 balls by Mushfuqur Rahim in a gallant attempt to get his Bangladeshis home was almost lost in the excitement. It was his first in internationals and he simply needed a good partner to achieve victory.
The match started in dismal fashion for Zimbabwe when Brendan Taylor was out for three runs, his third successive failure. Sibanda steadied his team with 26. But then came what turned out to be a winning partnership of 142 between Hamilton Mazakadza, who made 74 and Tatenda Taibu who scored 83.
They both scored quickly but with some luck. It was Mazakadza’s 17th half century and Taibu’s 20th. Taibu lost his wicket racing to get his second century but he failed in that in offering a towering catch to Rubel Hossain off the bowling of Nazibul Hossain.
Craig Ervine made 18 and Elton Chigumbura 31 to keep the momentum going.
The story of the innings was told by a score of 22-1 after ten overs, 60-2 in 20 overs and then another 116 runs in the next 20 overs.
Zimbabwe’s total of 250 was a challenging score, but with the wicket easing to a slower pace in the afternoon, Bangladesh expected to meet the challenge and keep the series alive. Their run rate was much faster in the early part of the innings than Zimbabwe’s but when Tamim Iqbal was run out after scoring 44 there were was nobody else able to link up to any extent with Rahim.
Shakib Al Hassan (19) and debutant Juniad Siddique (22) were both caught and bowled by Prosper Utseya, who ended with 3-47.
Neither they nor the other middle and lower order batsmen stayed significantly with Rahim.
Suddenly, within sight of the winning line, Bangladesh’s tail collapsed. From 229-5 and with 22 to win in two overs and with nine to win in the last over they were tossed aside, mainly by Kyle Jarvis, who bowled out Shafiul Islam and Robiul Hossain to deliver a coup de grace, just as the opportunity for a dramatic Bangladesh victory looked within their grasp.
The tour now moves to Bulawayo for two dead rubber matches with the series done and dusted.