Nayeem Hasan claimed a match-winning five-wicket haul in the second innings as Bangladesh clobbered Zimbabwe by an innings and 106 runs inside three and a half days to clinch the one-off Test.
The victory in Dhaka is a huge boost to the hosts as it finally disrupts their six-match losing streak, giving rookie skipper Mominul Haque his first Test win.
Zimbabwe were shot out for just 189 in the second session of the fourth day, failing to surmount the towering 295-run deficit.
Nayeem returned figures of 5-82 as he increased his match tally to nine wickets. He was well supported by fellow spinner Taijul Islam, who took four wickets.
The spin bowling duo completely dismantled the lackluster visitors with the latter's efforts rattled by a frequent loss of wickets.
Bangladesh's commandeering win was set up by Mushfiqur Rahim's superb double ton, which helped his team reach an imposing total of 560-6 declared.
Mushfiqur's remarkable knock was complemented by Mominul's first century as Test captain, setting the tone for Bangladesh's dominance.
"Everyone did well, and I am happy for the team. We tried to put up a big score and we were able to get that," said Mominul, who became the leader of his side after Shakib Al Hasan's suspension.
"I don't think it is a difficult start to my captaincy career," he added. "Yes, we have to win more matches but we will do better."
The innings win is only Bangladesh's second such victory as Taijul claimed the final scalp to cap off a historic occasion.
Zimbabwe's stand-in captain Craig Ervine admitted his team were guilty of not being able to capitalize on starts despite winning the toss and choosing to bat first.
"It was nice to get some runs in the game but it was one of those disappointing games that we have to put behind us," he said.
"We probably just did not kick on from the start and we definitely needed more than 260 in the first innings."