India were 157 for three in their second innings at stumps on day four of the third Test in Gros Islet, St Lucia on Friday.
The visitor's overall lead is now 285 runs, with seven wickets remaining. Ajinkya Rahane is unbeaten on 51 and Rohit Sharma on 41, the two having added 85 runs for the fourth wicket so far.
Bhuvneshwar Kumar ripped apart the West Indies batting order in a sensational spell as India took command of the proceedings.
The lean paceman came up with a burst of five for 14, his third fifer in Test cricket, to help India bowl out the hosts for 225 in their first innings and take a lead of 128 runs.
After lunch, India made good use of their second new ball that was only three overs old. Kumar went on to bowl unchanged for 10.4 overs and completely changed the direction of the game with his consistent line and length.
West Indies, who had been placed at a comfortable 194 for three at the lunch break, collapsed to 225.
The 200-mark had come up for them in the 87th over, and thereafter the havoc began. Kumar first removed Jermaine Blackwood (20), caught at second slip by skipper Virat Kohli, thus ending his 67-run partnership with Marlon Samuels (48).
Samuels was the next to go, two overs later, set up beautifully with a slew of outswingers and playing off an inswinging delivery.
Ravindra Jadeja (1-27) then removed Roston Chase (2) at the other end, and the hosts were really struggling at this juncture with three wickets down for just three runs.
Jason Holder (2) was trapped by Kumar in the 94th over and Alzarri Joseph (0) was caught in slip cordon in the 96th, offering catching practice.
R Ashwin (2-52) then accounted for Miguel Cummins (0) as Kumar searched for his fifth wicket even as Shane Dowrich (18) was dropped twice in successive overs, first in slips by KL Rahul and then at short midwicket by Rohit Sharma, who dropped a skier.
Finally, in the 104th over of the innings, the medium pacer celebrated his achievement with Dowrich trapped before the wickets as the West Indies lost six wickets for 23 runs.
Earlier, India removed both overnight batsmen but the West Indies continued to defy the visiting bowlers.
Samuels (39) and Jermaine Blackwood (20) added 59 runs for the undefeated fourth wicket in an extended morning session as rain stayed away today even as wet outfield prevented an early start.
Starting at overnight score of 107 for one, Brathwaite (64) and Bravo (29) took to the crease. The conditions were a bit like the first morning with the pitch feeling fresh.
Jadeja and Mohammed Shami got things underway, with Ishant Sharma soon taking over from the spinner.
The ploy was to attack Bravo with the short ball, even if only one fine leg fielder was provided to the bowlers, especially Ishant. But he crammed the batsman for space and he gave into his habitual urge, pulling straight to Jadeja in the 56th over.
The umpires checked for no ball and it seemed that Ishant had overstepped marginally but the third umpire ruled in the bowler's favour. It became a double blow for the West Indies, as R Ashwin removed Brathwaite at the other end three overs later, the batsman gloving down leg side and caught behind.
It brought the proceedings to life, with only a small chance of result possible when play had started. But Blackwood and Samuels put on another counter-attacking partnership to stall India's progress.
Owing to Kumar's third Test five-wicket haul, India finished day four in a position to dictate terms on the final day. India had a first-innings lead of 128 runs.
At tea, the visitors were placed at 31 without loss, and thereafter Shikhar Dhawan (26) and KL Rahul (28) looked to get quick runs. And they were successful in this endeavour upto an extent as the runs flowed quickly, and they put up a 49-run stand in just 7.3 overs.
But Rahul then was caught at second slip off Miguel Cummins (2-22), who also trapped skipper Virat Kohli (4) leg before soon afterwards, and that put the brakes on the Indian scoring.
The 50-mark had come up in the ninth over, and Rahane then looked to push the scoring. But Dhawan too departed at the other end, leg before to Roston Chase (1-41) making things a tad tougher.
West Indies meanwhile were struggling with their over-rate and they put on Kraigg Brathwaite (0-33) in tandem with the off-spinner. This allowed Rahane and Rohit to break the shackles.