Opening batsman Liton Das struck his fourth one-day international century as Bangladesh made 276-9 on Friday after being put in to bat by Zimbabwe at Harare Sports Club.
Three of his four tons have come against the southern Africa nation, and the latest took him 39.4 overs to achieve and included eight fours.
Bangladesh lost captain and opener Tamim Iqbal in the third over without a run on the scoreboard and were 74-4 before Das and Mahmudullah Riyad turned the tide in the first of three ODIs.
They added 93 for the fifth wicket before Mahmudullah was caught behind by wicketkeeper Regis Chakabva off the bowling of Luke Jongwe for 33.
Das carried on to reach 102 off 114 balls before being caught at square leg by Wellington Masakadza from a Richard Ngarava delivery.
Batting at number six, Afif Hossain struck two sixes in scoring 45 off 35 balls before being clean bowled by right-arm medium pacer Jongwe who was the most successful Zimbabwean bowler, taking 3-51.
The matches are part of the World Cup Super League, a feeder tournament that determines which seven teams, along with hosts India, earn direct qualification to the 2023 Cricket World Cup.
Bangladesh 276-9 in 50 overs (Liton Das 102, Afif Hossain 45, Mahmudullah Riyad 33; L. Jongwe 3-51, B. Muzarabani 2-47, R. Ngarava 2-61)