Dhaka: Paceman Christopher Mpofu and spinner Raymond Price shared five wickets as Zimbabwe surprised Bangladesh by nine runs in their opening one-day international on Wednesday.
Mpofu finished with 3-25 and left-arm spinner Price took 2-29 off 10 disciplined overs as the tourists bowled Bangladesh out for 200 after scoring 209 for a 1-0 lead in the five-match series.
Bangladesh's left-arm spinner Abdur Razzak played a key role in restricting Zimbabwe, finishing with 4-41. He also completed 150 wickets in one-day internationals.
Skipper Shakib Al Hasan kept alive Bangladesh's hopes with an impressive 63 for his 16th half-century in one-dayers, adding 54 for the seventh wicket with Mohammad Mahmudullah (14).
He was the ninth batsman out at 195 and his team could add only five more runs before being all out. He hit eight fours in his 65-ball knock.
Four batsmen were run out in Bangladesh's innings.
Bangladesh were seeking their fifth successive one-day victory, having beaten New Zealand 4-0 at home in October.
Zimbabwe, put in to bat, faltered against Bangladesh's spinners after making a sound start through Brendan Taylor and Chamu Chibhabha, who added 53 for the opening wicket in 10 overs.
Razzak did the maximum damage when he removed Taylor (27), Chibhabha (24) and skipper Elton Chigumbura (seven) in his three overs to reduce the tourists to 71-3 in the 14th over.
Regis Chakabva (45), playing only his second one-day international, steadied the innings with a 65-run stand for the fifth wicket with Craig Ervine (41) before giving a return catch to off-spinner Mahmudullah.
Zimbabwe lost their last five wickets for 25 runs, with left-arm spinner Suhrawadi Shuvo and Mahmudullah finishing with two wickets apiece. Left-arm spinner Shakib took one wicket.
Zimbabwe 209 (Chakabva 45, Razzak 4-41)
Bangladesh 200 (Shakib 63, Mpofu 3-25)
Result Zimbabwe won by nine runs
MOM Chris Mpofu (Zimbabwe)