Miraz carved out a record haul for any Bangladeshi bowlers overseas as his four wickets on Sunday spun the Tigers to the emphatic win.
He removed Richard Ngarava to finish with match figures of 9 for 148, the best returns overseas by a Bangladeshi bowler. Taskin also took his career-best innings figures of 4 for 82 in Bangladesh's second innings.
Zimbabwe had been set a daunting target of 477 for the win, and made a good start by reaching 110 for one, before the wicket of the experienced Brendan Taylor (92 from
73 balls) started their slide.
They resumed on the fifth morning on 140 for three, but lost four quick wickets when Mehidy and Taskin ripped through the middle-order.
Donald Tiripano (52) resisted the Bangladeshi charge, but when he was the ninth wicket to fall, the tourists were able to record just their fifth ever away Test win in 59 matches, and their first since beating Sri Lanka in Colombo in 2017.
The victory capped off a successful farewell to Mahmudullah, who announced his retirement from the longer format on the third day.
On Sunday, the Bangladesh players gave him a guard of honour and let him lead out the team to the Harare Sports Club ground. The 35-year-old dependable batsman was adjudged Man of the Match for his unbeaten 150 in the Tigers’ first innings when he laid the foundation for the victory, pushing Bangladesh to 468.
The hosts resisted for 34.4 overs losing three wickets after the Tigers snared four wickets within 19 runs to derail Zimbabwe’s chase in the morning.
Bangladesh dropped three chances, two involving Shakib Al Hasan. Dyon Myers was dropped by wicketkeeper Liton Das and at first-slip by Shakib off Miraz, while Taskin grassed a return catch from Tiripano. Shakib then dropped another when Muzarabani edged to him off the same bowler.
This allowed Tiripano to find able partners in Victor Nyauchi and Blessing Muzarabani, adding 34 and 41 respectively to prolong the resistance.
Miraz, however, eventually removed Myers and Timycen Maruma in the same over before Taskin took out Roy Kaia and Regis Chakabva to trigger a middle-order collapse.
With unbeaten centuries from Shadman Islam (115) and Nazmul Hossain Shanto (114), Bangladesh batted better in the second innings when they declared on 285 for one, setting the imposing target.
"Whether home or away, a win is always a proud thing for me," Bangladesh captain Mominul Haque said.
"It was a flat wicket, so difficult to get wickets. It was a special performance for his (Mehidy) nine wickets, but it was a team effort."
At the presentation ceremony, Mahmudullah said: “"[I] always like to be a team man. Fortunately, we have won this game and really happy to see the smiles on our team's faces. Liton batted really well. It was pleasing to see his batting.
“Taskin and I were having good fun at the crease, though he was at times a bit inpatient! We need to handle the pressure of the crunch moments, and I just tried to stick to my basics and score when the chance came."
After leading Zimbabwe’s batting efforts in both the innings with knocks of 81 and 92, Taylor said: "You've got to seize those important moments, and we didn't do that," Taylor said. "I got out at the wrong time and left some runs out there.
"It was down to being in good positions and throwing that away."
The teams will now contest in a three-match One-Day International series starting on Friday, which will be followed by three Twenty20 matches.
[With input from Reuters]