Opener Rajin Saleh top-scored with 77 and spinner Manjural Islam Rana took four for 34 as Bangladesh beat Zimbabwe by 40 runs in the third one-day international at Chittagong on Wednesday.
Chasing a target of 245 to win, Zimbabwe started firmly but were all out for 204 in 47.5 overs. Bangladesh, batting first, scored 244 for nine in their 50 overs.
Bangladesh's seventh victory in 104 one-day internationals enabled them to narrow Zimbabwe's lead to 2-1 in the five-match series.
Barney Rogers top-scored with 51 for Zimbabwe before he was trapped leg before by spinner Khaled Mahmud. Rogers faced 81 balls and hit four fours.
Captain Tatenda Taibu came in at a crucial time with the score 93-4 and temporarily revived Zimbabwe by hitting 46, including two boundaries, before being removed by Mashrafe Mortaza when was caught by Rana.
Mortaza also bowled Douglas Hondo, who scored 10 from 10 balls in a last-ditch effort with Christopher Mpofu (3 not out) for the last wicket.
Man-of-the-match Rana bagged his first wicket when he had opener Stuart Matsinkenyeri stumped by Khaled Mashud for 16. He also dismissed Hamilton Masakadza (9), Elton Chigumbura (27) and Prosper Utseya (1).
Earlier Saleh, who played 93 balls and hit six fours and one six in his score of 77, shared in an opening partnership of 58 with Nafis Iqbal, who contributed 24.
Saleh was caught by Dion Ebrahim off Elton Chigumbura in the 30th over to leave the home side on 147 for two after cementing their innings.
Brendan Taylor had Zimbabwe's best bowling figures of two for two for 23, with Utseya (2-33) and Tinashe Panyangara (2-59) also taking two wickets each.
Scoreboard:
Bangladesh
Rajin Saleh c Ebrahim b Chigumbura 77
Nafis Iqbal b Mpofu 24
Aftab Ahmed b Utseya 38
Habibul Bashar c Ebrahim b Taylor 26
Mohammad Ashraful b Rogers 11
Manjural Islam Rana c and b Utseya 6
Mashrafe Mortaza c Hondo b Panyangara 21
Khaled Mashud not out 11
Khaled Mahmud b Taylor 9
Nazmul Hossain b Panyangara 2
Enamul Haque junior not out 4
Extras (lb-2 w-6 nb-6) 15
Total (for nine wickets, 50 overs) 244
Fall of wickets: 1-58 2-147 3-147 4-164 5-178 6-206 7-220 8-236 9-239
Bowling: Panyangara 9-1-59-2 (nb-1 w-1), Mpofu 8-1-37-1 (nb-4 w-2), Hondo 4-0-22-0 (w-1), Rogers 10-0-40-1 (nb-1 w-1), Matsikenyeri 2-0-12-0 (w-1), Utseya 10-0-33-2, Chigumbura 2-0-15-1, Taylor 5-0-23-2
Zimbabwe
S.Matsikenyeri st Mashud b Rana 16
B.Rogers lbw b Mahmud 51
D.Ebrahim c Ahmed b Hossain 1
H.Masakadza c Haque jnr b Rana 9
B.Taylor c Iqbal b Mahmud 23
T.Taibu c Rana b Mortaza 46
E.Chigumbura lbw b Rana 27
T.Panyangara b Hossain 8
P.Utseya st Mashud b Rana 1
D.Hondo b Mortaza 10
C.Mpofu not out 3
Extras (lb-3 w-5 nb-1) 9
Total (all out, 47.5 overs) 204
Fall of wickets: 1-45 2-50 3-76 4-93 5-133 6-177 7-181 8-185 9-198
Bowling: Mashrafe Mortaza 8.5-0-38-2, Nazmul Hossain 9-0-34-2 (w-1), Manjural Islam Rana 10-0-34-4 (w-2), Khaled Mahmud 10-0-42-2 (w-2), Enamul Haque jnr 10-1-53-0 (nb-1)
Result: Bangladesh won by 40 runs.