West Indies were bowled out for 129 in the second innings, leaving Bangladesh with an outside chance of leveling the series by chasing down a 335-run target.
Shakib Al Hasan led the way with figures of 6-33 while Mehidy Hasan Miraz, Taijul Islam and Abu Jayed contributed with the other four wickets.
The home side lasted only nine overs in the second session as they made the lowest total against a visiting Bangladesh side, with Shakib completing his 18th five-wicket haul when he bowled Miguel Cummins and then Shannon Gabriel to end the West Indies innings. He had taken three in the first session, having already removed Kraigg Brathwaite on the second evening.
Roston Chase, unbeaten on 23 at the lunch break, started the second session with a straight six off Taijul Islam. But his attempt at a lap sweep against Mehidy Hasan got him bowled for 32.
Nurul Hasan made the record of most stumpings in an innings by a Bangladeshi wicketkeeper when Jason Holder became his third victim.
Devon Smith was the first wicket to fall on the day, Nurul stumping him smartly off Shakib. The Nurul-Shakib combination also accounted for Keemo Paul, the nightwatchman. Kieran Powell also fell to Shakib, given out leg-before after making 18.
Shai Hope and Shimron Hetmyer, both fell leg-before, to Taijul Islam and Abu Jayed respectively to give Bangladesh five wickets in the morning session.
Chase and Shimron Hetmyer then added 33 runs for the sixth wicket with Chase before Abu Jayed trapped Hetmyer leg-before, removing him both times in the Test.