Hyderabad - West Indies skipper Jason Holder finished with five victims as India lost their last six wickets for 53 runs to be restricted to 367 all out Sunday, a lead of 56.
Holder struck three times with his pace bowling in the morning session to trigger a collapse after the hosts started the day on 308-4 in their first innings in response to West Indies' 311 in Hyderabad.
Ravichandran Ashwin made a gutsy 35, including a 28-run last-wicket stand with injured Shardul Thakur, who was unbeaten on four, to add crucial runs after India were reduced to 339-9 having been 314-4 at one stage.
Ajinkya Rahane was the first to go, in just the third over of the day, when Holder had him caught by Shai Hope at gully for 80. Rahane added just five to his overnight score.
Holder, who missed West Indies' opening Test defeat in Rajkot last week, struck again just two balls later as he trapped Ravindra Jadeja lbw for nought.
Rahane's overnight partner Rishabh Pant was also denied a century when he was caught on 92 by Shimron Hetmyer in the covers off fast bowler Shannon Gabriel, who ended with three wickets.
Ashwin, whose four Test centuries have all come against the West Indies, frustrated the bowlers for 84 balls until Gabriel bowled him as the morning session was extended.
Paceman Thakur, who remained unbeaten on four, was in just the second over of his opening spell Friday when he limped off the ground. The West Indies management confirmed that Thakur would not take the field again on Sunday.
Holder, who had also got his opposite number Virat Kohli's prized scalp on day two, became only the second pace bowler after India's Umesh Yadav, who took 6-88 in the West Indies innings, to claim a five-wicket haul at the ground.
India lead the two-match series 1-0.