Ishant Sharma came all guns blazing against the West Indies as the hosts could only manage to post 189/8 and trailed by 108 runs when the second day of the first Test ended.
Ishant scalped five wickets for 42 runs while Jasprit Bumrah, Mohammed Shami and Ravindra Jadeja picked a wicket apiece.
Replying to India's first innings score of 297, the Windies were jolted at regular intervals. Openers Kraigg Brathwaite (14) and John Campbell (23) took their side to a safe start before Shami packed back the latter with the hosts' scorecard reading 36 runs.
As the Windies could only manage to add another 12 runs, Ishant dismissed the other opener in the 18th over. Trying to play a straight drive, Brathwaite handed a catch to Ishant in his follow-up.
Jadeja made things worst for the home team as he dismissed Sharmarh Brooks (11), leaving West Indies reeling at 50/3. Darren Bravo (18) and Roston Chase (48) showed some resistance, however, the former became a victim of Bumrah when the Windies were at 88 runs. Bravo shuffled across a length delivery from Bumrah but missed the flick and got hit in front of middle as the ball came in with the angle.
Shai Hope (24) and Chase then added 42 runs for the sixth wicket but couldn't take the partnership long as Ishant struck again, this time sending back the latter.
Hope and Shimron Hetmyer (35) then took their side past the 150-run mark. However, Ishant once again came with a breakthrough as he claimed the wicket of Hope in the similar fashion as he did with Brathwaite when the Windies were at 174 runs.
There was no stopping Ishant, and just as the hosts added another four runs, he sent back Kemar Roach, who hadn't even opened his account.
Skipper Jason Holder (10) and Miguel Cummins (0) were at the crease when stumps were drawn for the day.
Earlier, Ajinkya Rahane's 81 and a solid 58 runs from all-rounder Ravindra Jadeja helped India post 297 runs in their first innings.
Jadeja had resumed batting on three runs on the second day and played a brilliant knock to settle the Indian innings. Despite losing Rishabh Pant (24) early, Jadeja did not let West Indies make any further inroads in the lower-order as he added a crucial 60 runs for the eighth wicket with Ishant, who also came up with a gritty 19 runs down the order.
Brief score: West Indies 189/8 (Roston Chase 48, Shimron Hetmyer 35; Ishant Sharma 5/42) in first innings vs India 297 all out.