Nahid Rana took 6-21 – the best ODI figures by a Bangladesh bowler – as Bangladesh dismissed Zimbabwe for 141 in the opening match of the three-match series in Harare.
Bowling his full 10 overs, Rana broke the Bangladesh record of 6 for 26 shared by Mashrafe Bin Mortaza and Rubel Hossain.
Mashrafe set the mark against Kenya in 2006. Rubel equaled it against New Zealand in 2013.
Bangladesh captain Mehidy Hasan Miraz won the toss and chose to field. Zimbabwe were 29 without loss before losing three wickets for two runs.
Miraz ran out the opener with a direct hit. Taskin Ahmed dismissed Brian Bennett with the next ball and bowled Craig Ervine first ball.
Rana removed Sikandar Raza, Wessly Madhevere and Innocent Kaia before completing his third five-wicket haul in ODIs.
Richard Ngarava and Tanaka Chivanga added more than 50 runs for the ninth wicket. Bangladesh dropped Ngarava during the partnership. Nahid later dismissed him to finish with six wickets.
Zimbabwe were all out for 141.