Zimbabwe - 240-9 in 50 overs (Wessly Madhevere 56, Brendan Taylor 46, Dion Myers 34; Shoriful Islam 4/46, Shakib Al Hasan 2/42, Mehidy Hasan Miraz 1/34)
Bangladesh - 242-7 in 49.1 overs (Shakib Al Hasan 96*, Mohammad Saifuddin 28*, Mahmudullah 26; Luke Jongwe 2/46, Blessing Muzarabani 1/31, Richard Ngarava 1/33)
Bangladesh won by three wickets
Zimbabwe fought hard to make it a nail-biting finish but Bangladesh prevailed as all-rounder Shakib Al Hasan's unbeaten 96 took them over the line by three wickets with five balls to spare in the second one-day international at Harare Sports Club on Sunday.
The win gave the tourists an unassailable two-nil lead in the three-match series, which is part of the ICC Men's World Cup Super League.
On winning the toss again, this time round Zimbabwe decided to bat first.
The home side lost the services of Timycen Maruma and Ryan Burl through injury and replaced them with Tinashe Kamunhukamwe and Sikandar Raza, while Bangladesh retained their same team.
Kamunhukamwe and Tadiwanashe Marumani opened the innings on a cold and partly cloudy morning against the bowling of Taskin Ahmed and Mohammad Saifuddin.
The first over ended with the wicket of Kamunhukamwe, who flirted with a couple of deliveries outside the off stump before falling for the bait and cutting a catch straight to Afif Hossain in the gully; three for one wicket.
Regis Chakabva, after good recent batting performances, was deservedly promoted to number three, while Marumani hit the first boundary, lashing a loose ball from Saifuddin over extra cover.
Marumani continued to attack and escaped two difficult chances in the deep off Taskin's third over, scoring four and two from them.
Tamim Iqbal, the Bangladeshi captain, brought on Mehidy Hasan Miraz to bowl his off-breaks, and the move worked almost immediately, as Marumani swung across the line and was bowled for 13; 33 for two after six overs.
Brendan Taylor spent a few minutes playing himself in carefully, and then started attacking the bowling in his usual manner, hitting Shoriful Islam for four and six off successive balls.
A good partnership was developing between Chakabva and Taylor when the former misjudged a flighted ball from Shakib and was bowled for 26; 80 for three in the 16th over.
Taylor and Dion Myers took the score to 111 before Taylor, on 46, was out in bizarre fashion.
He missed a ramp shot against a ball from Shoriful, and then swung his bat idly back and knocked a bail off, to be given out hit wicket, although he had clearly finished playing his stroke at the ball.
Wessly Madhevere replaced him and again a good partnership seemed to be developing between him and Myers, as they put on 35 together.
However, Shakib came on again to break the stand, just after the drinks break, as Myers pulled a shortish ball straight to long-on, to be caught by Mahmudullah; 146 for five.
Madhevere, showing fine form, was now joined by Raza, who took his time to play himself in.
Madhevere played some brilliant strokes, hitting two successive fours off Taskin and then a perfectly executed six over long-off from Afif.
He reached his fifty with another well-hit four over the covers off Mehidy, having taken 52 balls, and soon afterwards passed his previous highest ODI score of 55.
It took a brilliant running catch by Tamim from long-off to dismiss him from a skyer aimed over cover, for 56, scored off 63 balls with five fours and a six; 209 for six in the 45th over.
The batsmen now had to hit out at virtually anything, and Luke Jongwe did that briefly, before he was caught in the deep off Shoriful for eight; 220 for seven in the 47th over.
Blessing Muzarabani skyed a catch to the keeper at the end of the same over; 221 for eight.
Raza hit Saifuddin for two fours in three balls, but was then caught at the wicket for 30 immediately afterwards having faced 44 balls.
The last pair were now together, and Richard Ngarava hit a thick edge for four among some singles before the innings closed at 240 for nine wickets.
Shoriful was the most successful bowler with four wickets for 46, while Shakib took two for 42.
Bangladesh opened their innings with Tamim and Liton Das against the bowling of Muzarabani and Tendai Chatara.
Only one wide from Muzarabani was scored off the first two overs, but then Tamim played two fine drives for four in the same bowler's second over.
At 19, Tamim edged a ball from Chatara into the slips, but it fell just short of Taylor at first slip.
He began to play some brilliant strokes and was looking very dangerous when he cut hard at a ball from Jongwe, when Raza in the gully threw himself to his left and picked up a brilliant diving catch.
Tamim had scored 20, with four fours, and Bangladesh were 39 for one in the 10th over.
Liton did not survive him for long - he made a loose cut at a ball from Ngarava and then skyed a pull off the next ball, to be caught by Taylor for 21; 46 for two in the 13th over.
Jongwe picked up another wicket when Mohammad Mithun (2) drove rather loosely on the off side and Madhevere at cover dived to his left to take a good catch; 50 for three.
Ngarava bowled another leg-side delivery that Shakib missed and the wicketkeeper fumbled behind the stumps.
The batsmen tried to steal a bye, but Chakabva recovered brilliantly as he spun round and threw down the stumps with Mosaddek Hossain (5) out of his ground, reducing the score to 75 for four.
However, Zimbabwe again could not maintain their advantage, with some poor fielding giving away easy runs and allowing Shakib and Mahmudullah to rebuild their innings.
The partnership was just beginning to take control when Muzarabani came on for another spell - his first ball, with extra bounce, Mahmudullah (26) tried to cut, but edged to the keeper, and the fifth wicket was down for 131 in the 29th over.
Soon after this Shakib ran to his fifty off 59 balls, with Mehidy now at the other end.
Mehidy did not last long, as he slog-swept a ball from Madhevere to be caught by Myers near the midwicket boundary for six.
Bangladesh were now in danger at 145 for six after 32 overs, and very much depended now on Shakib.
Shakib and Afif concentrated mainly on working the ball round the field for singles, and they did this successfully for a while until Raza lured Afif down the pitch, spun the ball past his bat and had him easily stumped for 15; 173 for seven in the 39th over.
Saifuddin now proved another reliable partner for Shakib, and still they kept the singles ticking over.
After 45 overs they were 210 for seven, needing another 31 runs - and the shadows were lengthening at six minutes to five.
Shakib gave a very difficult chance to Ngarava at short third man, but he was unable to hold it.
Twenty were needed off the last three overs, 12 off the last two.
Three runs only were needed off the final over, from Muzarabani, and Shakib cut the first ball to the boundary to take Bangladesh to their narrow victory.