The jubilant home team had set the tourists a daunting target of 375 to win, and secured the victory when Kyle Jarvis trapped Robiul Islam lbw for 12 to end Bangladesh’s second innings on 244.
Zimbabwe had made 370 in their first innings, helped on their way by a fine 104 from Hamilton Masakadza.
After ending Bangladesh’s reply on 287, the hosts then reached 291 for five in their second innings, including an unbeaten century from Brendan Taylor, before declaring at tea on Sunday.
The result was of major significance to Zimbabwe on their return to Test cricket after a self-imposed six year absence from the game, and the players cracked open the champagne bottles in celebration as they made their way off the field.
“We feel totally justified now at returning to Tests,” said Taylor, who was named man of the match in his first Test as captain after following up his first innings 71 with 105 not out in the second innings.
“It has been a long, hard haul. I believe we won mainly because we have worked so hard during the last 12 months.
“The fact is we wanted to win more than Bangladesh did. Our team really put themselves on the line. We had some setbacks, but we had the strength to recover,” continued Taylor, who becomes only the seventh player in cricket history to score a century in his first Test as captain.
This victory may have been recorded against the lowest-ranked Test-playing nation, but Zimbabwe can now look forward to further one-off Test matches at home to Pakistan next month and in New Zealand in the New Year.
Bangladesh began the day on 112 for three, still chasing another 263 for victory, and they retained some hope of pulling off a stunning fightback on a wicket that remained ideal for batting.
However, their task began to look like an impossible one when Mohammad Ashraful was bowled by Brian Vitori for 39.
Mushfiqur Rahim also offered some resistance before being caught at square leg by Craig Ervine off Chris Mpofu, who ended with figures of three for 51 from ten overs.
The only other score of note was a stunning knock of 43 off just 17 balls by Abdur Razzak, including an incredible 19 from one Ray Price over, but Bangladeshi captain Shakib Al Hasan accepted that the best team won.
“We were outplayed in both bowling and batting departments, partly because we would have preferred to have had a bit more time to prepare after arriving in Harare,” he said.
“Nonetheless, I was disappointed with our performance overall. I’m sure it will be very different in the ODI series.”
Jarvis was the pick of the Zimbabwe attack. He dismissed Islam to clinch the match and finish with figures of four for 61 from 16.3 overs.
Zimbabwe and Bangladesh now play a series of five ODIs, with the first coming at Harare Sports Club on Friday.