Bangladesh 433 (Shakib 137, Tamim 109) and 248 for 9 dec (Mahmudullah 71, Shuvagata 50, Waller 4-59, M'shangwe 4-82) beat Zimbabwe 368 (Masakadza 158, Chakabva 101, Shakib 5-80) and 151 (Masakadza 61, Shakib 5-44)
Scorecard and ball-by-ball details

Shakib Al Hasan became the third player in Test history to hit a century and claim 10 wickets in a match as Bangladesh rolled Zimbabwe over on the final day to take the series 2-0 in Khulna.

Hamilton Masakadza was the only source of resistance with his second fifty-plus score of the Test, but he fell victim to a misbehaving pitch and the tail was snuffed out soon after as Bangladesh recorded their third series win ever, and the first since July 2009.

It was understandable that Bangladesh preferred to set a target over 300 but the sluggish pace from their batsmen ate into a considerable amount of time and had left their bowlers with only 68 overs to push for victory. Shakib did not mind the challenge. His canny mix of sliders was more than a match for batsmen who were reluctant to press forward. And once uneven bounce came into play, Zimbabwe were "blown away," in the words of their captain Brendan Taylor.

The Khulna pitch was docile for four days. Even on the fifth, it developed a mind of its own only after tea. The angles Shakib created as he moved around the bowling crease coupled with his accuracy meant the batsmen had to play him. He drew Sikandar Raza forward and had him caught at short leg early. His first over after lunch consumed Taylor, who hung back but was unable to keep his inside edge down. After tea, he delivered a spell of 6-3-20-3 to cap off one of his best performances for Bangladesh.

A sure-footed Masakadza was uprooted when Shakib got one to bounce more than expected and silly point claimed a simple catch. Elton Chigumbura walked after the ball leapt up to take his glove and go to slip. Natsai M'shangwe chased after a turner and edged to the keeper to become Shakib's 10th wicket of the match.

The other two spinners were able deputies as well. Taijul struck thrice, although one was a grubber that bounced twice before taking Malcolm Waller's off stump and the other was a fortunate lbw decision with last-man Tendai Chatara struck outside the line while playing a shot. Jubair Hossain, the 19-year old legspinner, got rid of Regis Chakabva and ended Zimbabwe's most profitable partnership of the innings at 70.

While Bangladesh's bowlers had a clear mandate to attack, Zimbabwe's were more concerned with keeping the runs down. The turn legspinner M'shangwe got from around the wicket did not allow the batsmen to score freely. Bangladesh had come into the final day with an overnight lead of 266, pottered around for 47 off 19.5 overs, waited for Shuvagata Hom's first Test fifty before finally deciding to declare.

It was a day to forget for Zimbabwe's fielders as well. Mahmudullah was dropped by a back-pedalling Waller in the 70th over. M'shangwe had been the unlucky bowler, but managed to set things right in his next over as Mahmudullah holed out at mid-on for 71, having added only eight runs off 29 balls to his overnight score.

M'shangwe had himself to blame for his next slice of misfortune when he dropped a leading edge from Shahadat Hossain off his own bowling. But Masakadza came to Zimbabwe's rescue when he caught a one-handed stinger at long-on to get rid of Shahadat and give M'shangwe his fourth wicket.

The win has moved Bangladesh off the bottom of the ICC Test rankings. Zimbabwe occupy that position now, no matter what happens in Chittagong. The challenge for Mushfiqur Rahim's men now is building on this success, especially with much stronger oppositions like India and Australia scheduled to play them in 2015.

Alagappan Muthu is a sub-editor at ESPNcricinfo