One-day international, Dhaka: Zimbabwe 251-8 (50 overs) v Bangladesh 229 (48.1 overs) by 22 runs
Doug Hondo celebrates a wicket with skipper Taibu
Zimbabwe ended a 17-match losing streak since Tatenda Taibu took over as skipper as they defeated Bangladesh by 22 runs in Dhaka.
The tourists posted a total of 251-8 as Brendan Taylor made 58 and Hamilton Masakadza hit 54 off 63 balls.
Bangladesh made a solid start but Doug Hondo (3-36) and Prosper Utseya (2-37) stifled the middle order and they were bowled out for 229 with 11 balls left.
The victory gave Zimbabwe a 1-0 lead in the five-match series.
After the Bangladesh celebrations of a first Test win earlier this month, it was Zimbabwe's turn to lift the clouds which had hung over their team since a group of white rebel players, led by former skipper Heath Streak, turned their backs on international cricket.
Taibu chose to bat first after winning the toss but saw Barney Rogers depart to the first ball of the second over.
Rogers gave a return catch to teenage seamer Nazmul Hossain and was soon followed back by Dion Ebrahim, who was lbw to Tapash Baisya - both batsmen managing only a single.
Stuart Matsikenyeri and Masakadza set about repairing the damage with some aggressive strokeplay in a third wicket stand of 70, going along at a rate of around five and a half per over before the former was bowled for 33 by Khaled Mahmud.
The former Bangladesh captain also brought Maskadaza's innings to an end in the 24th over when he bowled him off the inside edge, but Taylor and Taibu kept things ticking over as they added 65 for the fifth wicket.
Taibu was run out for 28 by Rajin Saleh, whose off-spin proved the undoing of Taylor three overs later.
At 188-6, Zimbabwe needed further acceleration and it was provided by Elton Chigumbura, who hit a six and three fours in a 32-ball cameo worth 41 before edging a ball from Abdur Razzaq to the keeper.
Bangladesh began their reply positively with 34 from the first six overs.
Nafis Iqbal was caught by Nondo off Tinashe Panyangara for 12, but Saleh collected seven fours in his 40 off 45 balls.
Christopher Mpofu dismissed him in the 14th over, but the home side apeared to have things under control while skipper Habibul Bashar was at the crease.
The introduction of Utseya's off-spin proved his undoing as he was caught by Matsikenyeri for 39 and Bangladesh declined from 119-2 to 143-6 in the space of nine overs.
Mohammad Ashraful top scored with 42 but became Utseya's second victim with the total on 165.
With the required rate mounting over by over, Khaled Mahmud threw the bat for 34 and Tapash Baisya hit a six and three fours in his 33 off 26 balls.
But he ran out of partners when last man Nazmul was run out by Panyangara off the first ball of the penultimate over.
Bangladesh: Habibul Bashar (captain), Khaled Mashud, Nafis Iqbal, Mohammad Ashraful, Rajin Saleh, Aftab Ahmed, Alok Kapali, Khaled Mahmud, Abdur Razzaq, Tapash Baisya, Nazmul Hossain.
Zimbabwe: Tatenda Taibu (captain), Tinashe Panyangara, Douglas Hondo, Elton Chigumbura, Dion Ebrahim, Prosper Utseya, Stuart Matsikenyeri, Barney Rogers, Hamilton Masakadza, Brendan Taylor, Christopher Mpofu.