Bangladesh captain Tamim Iqbal defied a knee injury to score 112 and set up a five-wicket victory and a 3-0 one-day international whitewash of Zimbabwe on Tuesday.
The hosts posted 298 in 49.3 overs and the visitors reached 302-5 with 12 balls to spare at an overcast Harare Sports Club.
Tamim missed the one-off Test against Zimbabwe earlier this month because of the injury, but played in all the ODI internationals, saying he could "manage" the pain.
After scoring 20 and being out for a duck in the first two matches, the skipper let loose at the third attempt, scoring at a rate of more than a run a ball to record his 14th ODI century.
He faced 97 balls in a 149-minute stand and struck eight fours and three sixes before becoming one of four Bangladeshis caught by wicketkeeper Regis Chakabva, off a Donald Tiripano delivery.
Tamim will miss three Twenty20 internationals against Zimbabwe, starting on Thursday, and also home T20 series against Australia and New Zealand after being advised to rest for up to eight weeks.
He departed with the tourists on 204-3 and they seemed set for victory entering the final 10 overs, needing 51 runs from 60 balls with six wickets in hand.
An unbeaten sixth-wicket partnership between Nurul Hasan (45) and Afif Hossain (26) assured Bangladesh's clean sweep.
Wesley Madhevere (2-45) and Tiripano (2-61) were the most successful home bowlers and Luke Jongwe (1-44) was the other wicket-taker.
Put in to bat after Tamim won the toss, Zimbabwe exceeded the expectations of captain Brendan Taylor by posting their highest total of the series.
Taylor set his team a target of 280 as they strove to prevent three consecutive losses having fallen by 155 runs and three wickets in the previous matches.
Opening batsman Chakabva laid the foundations with a brisk 84, including seven fours and a six, before being bowled by Taskin Ahmed when attempting a flick to leg side.
His departure left Zimbabwe 172-5 and needing a strong sixth-wicket partnership which Sikandar Raza and Ryan Burl provided, adding 112 runs before being separated.
Raza was first to be dismissed after making 57, including seven fours and a six, and Burl contributed a 59 spiced with four fours and four sixes.
Taylor, often the batting saviour for Zimbabwe, made only 28 earlier before being caught by Tamim off the bowling of Mahmudullah Riyad.
Mustafizur Rahman and Mohammad Saifuddin were the most successful Bangladesh bowlers, taking three wickets each.
The three-match series was 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 World Cup.
Meanwhile, the dates for the three T20 internationals have been brought forward to assist the broadcasters and will now be played on Thursday, Friday and Sunday in Harare.