India were 70 runs away from beating England in the third Test after their spinners bowled out the tourists for 236 despite defiant half-centuries from Joe Root and Haseeb Hameed.
Set a victory target of 103, India were 33 for one at tea on the fourth day in Mohali with Parthiv Patel on 16 and Cheteshwar Pujara on 13 at the crease.
England seamer Chris Woakes struck an early blow, removing opener Murali Vijay who was caught at second slip for nought but the second-wicket partnership between Patel and Pujara steadied the chase.
Earlier Ravichandran Ashwin led a combined bowling effort to pack off the visitors and end the dogged resistance from Root (78) and Hameed (59 not out).
Root's steely resolve came to an end after the batsman, who opened in place of an injured Hameed, fell to Ravindra Jadeja.
India then tightened the noose around England, reducing the visitors to 295 for nine but Hameed, batting with an injured finger on his left hand, stuck to his guns.
The teenager, who sparkled on his debut with an 82-run knock in the drawn first Test in Rajkot, registered his second Test 50 in only his third game to frustrate the bowlers.
Mohammed Shami bowled at a lively pace with one of his bouncers hitting the helmet grille of Woakes (30) and breaking a portion of the protective gear.
Shami set Woakes up on the very next ball with another bouncer and the batsman gave away a catch to the wicketkeeper while fending off the short delivery on the leg side.
India wrapped up the innings by running out number 11 batsman James Anderson as Hameed remained unconquered.
India lead the five-match series 1-0 after winning the second Test in Visakhapatnam.