Ajinkya Rahane and Rishabh Pant hit unbeaten half-centuries to hand India the advantage against West Indies on day two of the second Test in Hyderabad on Saturday.
The hosts were 308-4 at stumps, trailing the West Indies by just three runs as Rahane, on 75, and Pant, on 85, put on an unbeaten 146-run fifth-wicket stand.
Paceman Umesh Yadav also played a part in India's domination with his career-best figures of 6-88 that helped bowl out the West Indies for 311 early in the morning session.
In reply, India were in trouble at 162-4 with West Indies skipper Jason Holder taking two wickets - including his counterpart Virat Kohli's prized scalp in the afternoon session.
However, the right-left batting combination of Rahane and Pant ensured a wicketless final session with their contrasting batting.
Rahane played a cautious knock to register his 15th Test fifty while Pant was his swashbuckling self as he hit 10 fours and 2 big sixes in his 120-ball stay so far to record a second successive 50 plus score after his 92 in the team's opening win in Rajkot.
Teenage opener Prithvi Shaw also smashed 70 off 53 balls as India mounted a strong reply only to lose to their way after lunch.
Shaw fell to left-arm spinner Jomel Warrican, after hitting 11 fours and a six, and Cheteshwar Pujara went for 10 in the very next over off seamer Shannon Gabriel.
Kohli tried to steady the innings with some fluent stroke play as he built a 60-run partnership with Rahane but was denied what could have been his 20th Test fifty as Holder trapped him lbw for 45.
The West Indies were hit by an injury to wicketkeeper Shane Dowrich early in the Indian innings, and replaced him with substitute Jahmar Hamilton behind the stumps.
Hamilton was far from convincing and alongside a few misses down the leg side he dropped Pant on 24 off Gabriel.
Earlier Yadav, who lost his pace partner in debutant Shardul Thakur due to a groin strain on day one, picked all the three West Indian wickets to fall in the morning after the tourists started the day on 295-7.
Roston Chase top-scored with 106 after West Indies elected to bat first. Chase, who started the day on 98, was eventually bowled by Yadav.
Yadav soon got Gabriel on the very next ball to become the first Indian quick to get six wickets on home soil after Javagal Srinath's 6-45 against New Zealand at Mohali in 1999.