Mehidy Hasan Miraz bowled brilliantly just before tea and in the evening session and his four-wicket haul didn't let the West Indies take a lead of more than 162. The hosts lost their last seven wickets for just 68 runs as Bangladesh bowlers reaped the rewards of their persistence.
When Kraigg Brathwaite (94) got out to Khaled Ahmed, the West Indies were 197 for seven. Miraz was then introduced into the attack by Shakib Al Hasan and the move paid dividends as he bowled an 11-over spell and picked up four.
Miraz removed Kyle Mayers and Joshua Da Silva just before tea and Alzarri Joseph right after the resumption of play. Roach was the 8th batter to go as Ebadot Hossain accounted for his wicket.
Jermaine Blackwood (63) was dismissed by Khaled but much of the credit goes to Miraz who took a magnificent catch at extra-cover. Miraz, quite fittingly, finished things off by dismissing Jaydan Seales leg-before. He finished with 59 for four.
The pace duo of Ebadot Hossain and Khaled Ahmed took two wickets apiece. Mustafizur Rahman and Shakib Al Hasan picked up one each.
Tamim Iqbal started well with four boundaries but was undone by the extra bounce of the pitch. Joseph got the ball to shape away and found the thick outside-edge of Tamim's bat. The left-hander made 22.
Mehidy Hasan Miraz (2) was promoted to number three but his innings was short-lived. Mahmudul Hasan Joy saw off the new ball well and faced 60 balls for his 18 not out. Najmul Hossain Shanto (8*) accompanied him. Bangladesh finished the day at 50 for two, still 112 runs behind.