Debutant Brandon Mavuta took four wickets while Sikandar Raza claimed three as Bangladesh were dismissed for 169 runs while chasing a target of 321.
Wellington Masakadza, another debutant, took two wickets including the final wicket of the innings after dismissing Ariful Haque for 38.
Zimbabwe’s last Test win was in 2013 against Pakistan in Harare. And their last away win was 17 years ago in 2001.
“I am ecstatic. I thought the guys went out and worked really hard to apply themselves,” Zimbabwe captain Hamilton Masakadza said.
“Teams around the world will know that Zimbabwe is getting back to the team they were earlier,” Zimbabwe coach Lalchand Rajput remarked.
Foaks rescues England
Debutant Ben Foakes scored an unbeaten 87 to guide England to 321 for 8 at the end of the day one of the first Test between England and Sri Lanka in Galle.
The wicket-keeper batsman helped the visitors recover from a shaky start.
England were struggling at 103 for 5 before Foakes built useful partnerships with Jos Buttler, Sam Curran, Abdul Rashid to take the score beyond 300.
Sri Lankan spinner Rangana Herath, who claimed the wicket of Joe Root, will bid farewell to Test cricket after this match.