Set a decent target after Zimbabwe were restricted to 163-7, Bangladesh comfortably reached 166-6 with eight balls in hand to take 1-0 lead in the four-match series.
Zimbabwe made regular breakthroughs but could not stop the run flow as Tamim Iqbal (29), Mushfiqur Rahim (26) and Shakib Al Hasan (20 not out) all made decent contributions to Bangladesh's victory.
Sabbir faced 36 balls and hit four boundaries and a six, taking advantage of a dropped catch by Vusi Sibanda off Sean Williams when he was on 36.
Masakadza hit 79 off 53 balls, equalling his own national record for the highest individual innings, while Sibanda struck 46 off 39.
More From This Section
Bangladesh did well to restrict Zimbabwe in the final few overs, despite Masakadza and Sibanda breaking the team record, set by Sikandar Raza and Chamu Chibhabha's 100-run partnership against Afghanistan in October.
Bangladesh had to wait until the 12th over for their first breakthrough when Sibanda was finally caught at square leg by Tamim Iqbal off Shakib Al Hasan's delivery.
Shortly thereafter, Rahman bowled Chigumbura and Luke Jongwe off consecutive balls to finish with 2-18, before Al-Amin Hossain grabbed two wickets in the final over.
Zimbabwe had to settle for a relatively modest score, picking up just 21 runs for five wickets in the last four overs.
The second match of the series will be held at the same ground on January 17.