Zimbabwe's Brendan Taylor fought valiantly with his second century of the Test but Bangladesh won the final match by 218 runs to end the series at 1-1 on Thursday.
Needing a mammoth 443 to win, Zimbabwe were bowled out in the second session on the fifth day in Dhaka with Taylor remaining unbeaten on 106.
Taylor's knock of patience and controlled aggression came from 167 balls and featured ten fours. He had hit 110 in Zimbabwe's first essay of 304.
Off-spinner Mehidy Hasan was the wrecker-in-chief on the final day as he returned bowling figures of 5-38 -- his fifth five-wicket haul in Tests.
Mehidy denied Zimbabwe any chance of repeating their clinical performance of the first match in Sylhet that they won by 151 runs.
Taijul Islam added two more wickets to his five in the first innings and finished the series with a career best haul of 18 scalps in two matches. He was named the player of the series.
The home side declared the first innings on 522 for seven with Mushfiqur Rahim hitting an unbeaten 219 -- the first time a wicketkeeper hit two double tons in Test cricket.
The visitors' hopes of securing a draw rested on the pairing of Taylor and Peter Moor, whose 139-run sixth wicket stand in the first innings took the visitors past the 300 mark.
But once Moor departed after a 79-ball vigil for a paltry 13 runs, smartly caught at short leg by Imrul off Mehidy, the Zimbabwe batting fell flat.
Resuming at 76 for 2, Zimbabwe lost another key man Sean Williams for 13 after pace bowler Mustafizur Rahman provided Bangladesh with the day's first breakthrough.
Spinner Taijul dismissed Sikandar Raza for 12 by taking a sharp return catch to reduce Zimbabwe to 120 for 4.
But Taylor and Moor saw their side through to the lunch break with an unbeaten 41-run stand for the fifth wicket.
Bangladesh declared their second innings on 224 for six at the tea break Wednesday after skipper Mahmudullah Riyad completed his second century in eight years.
The victory was Bangladesh's first this year and it came after eight innings in which the Test minnows could not cross the 200 run mark.