Dhaka: Mushfiqur Rahim and Mahmudullah each struck a fifty to set up a 21-run win for Bangladesh over Zimbabwe in the fourth one-day international in Dhaka on Friday.
Rahim made a fluent 77 while Mahmudullah remained unbeaten on his career best 82 as the duo helped Bangladesh recover from 32-4 to post a commendable 256-8.
Shakib Al Hasan, Jubair Hossain and Rubel Hossain then claimed two wickets each to restrict Zimbabwe to 235-8 and give Bangladesh a 4-0 lead in the five-match series.
Zimbabwe looked competitive for the first time in the series as medium pacers Neville Madziva (3-60) and Solomon Mire (3-49) put Bangladesh on the back foot with their opening spell burst.
But Rahim and Mahmudullah shared 134 runs for the fifth wicket to bring Bangladesh innings back on track.
Rahim led the initial charge before he top-edged leg-spinner Tafadzwa Kamungozi to end his 78-ball innings.
Skipper Mashrafe Mortaza hit 39 off 25 balls to ensure Bangladesh got a competitive score.
Zimbabwe made a brisk start in reply when Hamilton Masakadza (28) and Vusimuzi Sibanda (17) scored 48 runs in the opening stand.
Shakib removed both the openers in his successive overs and debutant leg-spinner Jubair bowled one-down Timycen Maruma to leave them struggling at 60-3.
Brendan Taylor and Mire each hit a fifty and put 106 runs for the fourth wicket to give them some hope but brought the hosts back into the contest again.
Jubair made Mire a catch of Mahmudullah for 52 and Rubel bounced out Taylor for 63 next over with wicketkeeper Rahim completing the catch.
Shakib finished with 2-28 while Jubair and Rubel grabbed 2-42 and 2-48 respectively.
The fifth ODI will be held at the same venue on December 1.
Earlier, Bangladesh have won the toss and have opted to bat.
Abul Hasan comes in for Bangladesh and Jubair Hossain making his debut. Mominul Haque is also rested.
On otherhand, Tendai Chatara replaces Tinashe Panyangara for Zimbabwe.
Bangladesh: Tamim Iqbal, Anamul Haque, Imrul Kayes, Shakib Al Hasan, Mushfiqur Rahim (wk), Mahmudullah, Sabbir Rahman, Mashrafe Mortaza (Capt.), Abul Hasan, Jubair Hossain, Rubel Hossain
Zimbabwe: Timycen Maruma, Hamilton Masakadza, Vusi Sibanda, Brendan Taylor, Solomon Mire, Regis Chakabva, Elton Chigumbura (Capt.), Peter Moor (wk), Neville Madziva, Tendai Chatara, Tafadzwa Kamungozi
Bangladesh - 256/8 (Mahmudullah 82*, Mushfiqur 77, Mire 3-49)
Zimbabwe - 235/8 (Taylor 63, Mire 52, Shakib 2-28)
Result - Bangladesh won by 21 runs
MOM - Mahmudullah (Bangladesh)