Opener Kraigg Brathwaite (61) and Roston Chase (14) were batting when drinks were called in the second session.
The post-lunch session started on a bad note for the hosts as they lost Marlon Samuels (1) and Jermaine Blackwood (0) in the innings' 49th over, bowled by Shami, who had impressive figures of 4/35 in 15 overs by then.
Bowling consistently just outside the off stump, Shami, who last played a Test in January 2015, got the ball to talk and induced and edge from both Samuels and Blackwood.
At lunch, the hosts reached 90 for three, trailing by 476 runs in reply to India's mammoth first innings total of 566 for eight declared.
Also Read
Earlier, at the Sir Vivian Richards Stadium, Brathwaite defied the Indian bowlers along with Devendra Bishoo (12), as the duo put on 38 for the second wicket but more importantly frustrated the visitors by batting out 17.5 overs.
Starting at their overnight score of 31/1, Bishoo looked to stay with his partner for as long as possible, and he was successful in achieving that goal. He frustrated the Indian bowlers for nearly 70 minutes, and in this interim, saw off the likes of Ishant Sharma, Umesh Yadav and Shami without much discomfort.
At the other end, Brathwaite was happy to leave as many deliveries as possible, and he was helped by the wide deliveries bowled at him by the Indian pacers. When the spin came on, he looked to attack R Ashwin and didn't allow the lead spinner to settle down at all, hitting him for boundaries in successive overs.