Rahkeem Cornwall struck twice in the morning as the West Indies left Bangladesh battling to avoid a follow-on in the second and final Test in Dhaka on Saturday.
Bangladesh reached 181-6 at lunch on the third day, trailing the West Indies' first innings total of 409 runs by 228 runs.
Liton Das was batting on 23 at the break alongside Mehidy Hasan, 11 not out, as the hosts still need 28 runs to avoid the ignominy of following on.
Mushfiqur Rahim was the last man dismissed after making 54 runs when he attempted a reverse sweep off Cornwall to be caught by Kyle Mayers at cover.
Resuming on 105-4, Bangladesh, who must win the game to avoid a series defeat, pinned great hopes on Mushfiqur, the most experienced batsman to give their innings some solidity.
Mushfiqur added 71 with fellow overnight batsman Mohammad Mithun.
But as Mithun flicked Cornwall he could not keep the ball on the ground as Kraigg Bratwaite dived forward to take a catch, removing the batsman for 15.
Mushfiqur then departed soon before Liton and Mehidy averted further damage with their unbroken stand.
The West Indies won the first Test by three wickets.