Bangladesh put their series-opening loss to Zimbabwe behind them as they comprehensively won the second One-Day International between the two sides by six wickets in Mirpur.
Zimbabwe were dismissed for 191 as Abdur Razzak returned a five-wicket haul including a hat-trick but they were powerless to prevent Bangladesh motoring to victory with more than ten overs to spare.
The home side closed on 194 for four in 39.4 overs thanks to half-centuries from Junaid Siddique and Raqibul Hasan.
Zimbabwe, who posted 209 in the opening match, fell 18 runs short of that total as no batsman could get in and go on to make a big score, Craig Ervine's unbeaten 42 proving to be the highest innings.
They were undone by Razzak, who took five for 30 in 9.2 overs, and fellow left-arm spinner Shakib Al Hasan, who bagged four for 39. Pacer Shafiul Islam took the other wicket to fall.
Razzak became the second Bangladeshi after Shahadat Hossain to take an ODI hat-trick when he had Prosper Utseya caught by Naeem Islam at the end of the 45th over, following that up with the dismissals - both leg before wicket - of Ray Price and Christopher Mpofu to end the innings with the first two balls of the 47th.
Bangladesh's reply was led by Tamim Iqbal, who struck a swift 44 although they lost Imrul Kayes early when he was caught behind for ten.
After Tamim fell with the score on 75, Siddique (53 in 83 balls) and Raqibul (65 in 79 balls) then took control of the match, putting on 72 for the third wicket to put Bangladesh comfortably on top.
Although both men fell with the finishing line in sight, they had done enough to put their side in an unassailable position and the game was finished off in style by Shakib, unbeaten on nine, and Mushfiqur Rahim, not out on seven.
There was a wicket apiece for Mpofu and Keith Dabengwa as left-arm spinner Price picked up two for 41 - their efforts all coming in vain, however.
Zimbabwe won the opening match by nine runs and the third match of five is on 6th December.