Taijul Islam claimed 6-33 as Bangladesh defeated West Indies by 64 runs on Saturday in the first match of their two-Test series.
Chasing a target of 204 runs in Chittagong, West Indies stuttered from the start and were all out for 139 on the stroke of tea on the third day, suffering their first defeat in Bangladesh in seven Tests.
Sunil Ambris was the last man dismissed after top-scoring for the visitors with 43. He had put on a 63-run partnership with Jomel Warrican for the ninth wicket to lift West Indies from 75 for eight to revive an unlikely hope.
But Mehidy Hasan dismissed Warrican for 41, and Taijul sealed the contest in the next over with the wicket of Ambris.
Left-arm spinner Taijul led Bangladesh's attack with his seventh five-wicket haul in Tests, while Shakib al Hasan and Mehidy each picked up two wickets.
West Indies' chase got off to a disastrous start, sinking to 11-4 at the lunch break before an attacking 27 off 19 by Shimron Hetmyer provided the visitors a brief respite.
Leg-spinner Devendra Bishoo earlier claimed three wickets in the morning to finish with 4-26 as West Indies bowled out Bangladesh for 125 runs in their second innings.
Bangladesh spinners responded almost immediately when Shakib drew Kieran Powell forward for Mushfiqur Rahim to accomplish a simple stumping, making Shakib the first Bangladeshi cricketer to claim 200 wickets in Tests.
"Whatever I do, I do for the team, and I'm lucky to have some of these achievements," Shakib said after the match.
Shakib drew an edge from Shai Hope before a two-wicket burst by Taijul, who trapped Roston Chase for a duck and Kraigg Brathwaite in the same over, leaving the West Indies in dire straits.
The collapse dashed any West Indies satisfaction from wrapping up the Bangladesh innings, with the hosts only adding 70 runs to their overnight score after resuming play on 55-5.
Mahmudullah Riyad top-scored for Bangladesh with 31 in the second innings, but not before he was dropped by Hope off Bishoo on 15.
Pace bowler Gabriel took the first breakthrough of the day when he bowled Mushfiqur Rahim for 19.
Mehidy and Mahmudullah tried to rebuild the innings, putting on 37 for the seventh wicket before Mehidy was removed by Bishoo for 18.
Bishoo then dismissed Nayeem Hasan and Mahmudullah in a quick succession, while Chase wrapped up the Bangladesh innings by dismissing Taijul.
West Indies captain Brathwaite hailed Bangladesh for their performance.
"A tough loss for us. I thought the Bangladesh team did very well," he said.
In the first innings, West Indies scored 246 runs in reply to Bangladesh's 324.