Gregory Strydom scored his maiden half-century to guide Zimbabwe to a series-clinching win over Bangladesh in the fourth one-day international in Harare on Friday.
Disciplined bowling helped Zimbabwe restrict Bangladesh, who won the toss and chose to bat, to a mediocre total of 206.
In reply, the home side scored 212 for three in 41.4 overs to cruise to victory by seven wickets.
The result gave Zimbabwe an unbeatable 3-1 lead in the five-match series, which ends in Harare on Sunday.
Strydom, who hit a lusty 58 off as many balls with eight fours and a six, began his assault in the 13th over after Vusi Sibanda and Terrence Duffin had launched Zimbabwe's reply with an opening stand of 57.
Fast bowler Farhad Reza bowled Sibanda off the edge of his bat for 46 in the 22nd over, which brought Hamilton Masakadza to the crease to share 66 runs for the third wicket with Strydom.
The partnership was halted when Masakadza, on 19, retired hurt with a nosebleed.
Strydom was dismissed five balls later by left-arm spinner Abdur Razzak when he sent a leading edge looping to midwicket, where Mohammad Ashraful took the catch.
Stuart Matsikenyeri and Brendan Taylor completed the job for Zimbabwe with a brisk stand of 53.
Shahriar Nafeez top-scored for Bangladesh with 45, and their only substantial partnership was the 52 runs that Shahriar and Aftab Ahmed shared for the second wicket.
Off-spinner Prosper Utseya tied the visitors down and took two for 25, while leg-spinner Masakadza was less accurate but also effective for his return of two for 36.
R. Saleh c Matsikenyeri b Rainsford 11
S. Nafees b Masakadza 45
A. Ahmed c Utseya b Masakadza 27
M. Ashraful run out 6
A. Kapali c Sibanda b Utseya 10
F. Reza run out 30
K. Mashud c Rainsford b Ireland 20
M. Rafique c Sibanda b Utseya 0
M. Mortaza b Rainsford 23
A. Razzak not out 3
S. Hossain not out 5
Extras: (b-1, lb-4, nb-2, w-19) 26
Total: (for 9 wickets, 50 overs) 206
Fall of wickets: 1-21, 2-73, 3-82, 4-102, 5-137, 6-157, 7-160, 8-190, 9-197
Bowling: E. Rainsford 10 - 1 - 46 - 2 (nb-1 w-7), A. Ireland 9 - 1 - 37 - 1 (nb-1 w-2), B. Mahwire 5 - 0 - 30 - 0 (w-1), G. Strydom 1 - 0 - 9 - 0 (w-3), H. Masakadza 10 - 1 - 36 - 2 (w-1), P. Utseya 10 - 0 - 25 - 2, S. Matsikenyeri 5 - 0 - 18 - 0 (w-1).
Vusi Sibanda b Reza 46
Terry Duffin c Mashud b Rafique 24
Greg Strydom c Ashraful b Razzak 58
Hamilton Masakadza retired hurt 19
Stuart Matsikenyeri not out 26
Brendan Taylor not out 27
Extras: (lb-6, w-5, nb-1) 12
Total: (for three wickets in 41.4 overs) 212
Fall of wickets: 1-57, 2-91, 3-159.
Bowling: Mashrafe Mortaza 6-0-24-0, Shahadat Hossain 5-0-44-0, Abdur Razzak 10-0-42-1, Mohammad Rafique 10-3-30-1, Farhad Reza 4-0-19-1, Alok Kapali 3.4-0-30-0, Rajin Saleh 3-0-17-0.