England vice-captain Ollie Pope produced an unbeaten 148 but India remained on course for victory in the opening Test at the end of day three at Rajiv Gandhi International Stadium on Saturday.
The tourists had risked a defeat inside three days after India, having built a lead of 190, reduced England to 163-5 in their second innings in the second session of the day.
But Pope, who hit 17 fours, dug his heels in to produce arguably his finest knock even though India will remain confident of going 1-0 up in the five-match series.
Rehan Ahmed was keeping Pope company on 16 with England finishing the third day on 316-6, putting them 126 ahead.
India, who have not lost a Test series on home soil since 2012, amassed 436 in their reply to England's first innings 246.
That left England with a mountain to climb and the touring batters did not retreat into any defensive shell.
Openers Zak Crawley (31) and Ben Duckett (47) scored freely, frequently employing the sweep shot -- both traditional and reverse -- to negate India's spinners.
Crawley motored along at a run-a-ball rate but could not convert the start and edged a Ravichandran Ashwin ball to lone slip Rohit Sharma.
Duckett, then on 39, was lucky when Jasprit Bumrah's lbw appeal was turned down and India did not review that decision. Replays confirmed the ball would have hit the leg stump.
Not that it mattered - in his next over, Bumrah uprooted Duckett's off-stump and let out a roar.
The ball had started reversing and Bumrah was looking particularly threatening. Another length ball from him rapped Joe Root on his front pad and the batter challenged the lbw decision against him but could not get it overturned.
Root, who excelled as a part-time spinner claiming 4-79, walked away for two.
Ravindra Jadeja foxed Johnny Bairstow (10) by first spinning one past the bat and then following it with a delivery that pitched on the same spot but went straight.
Bairstow, expecting it to turn, did not offer any shot and looked in horror as the ball went on to disturb his stumps.
Ashwin dismissed Ben Stokes for the 12th time in Tests, for six, with a flighted delivery that beat the pad and hit the off-stump.
Pope, dropped on 110 by Axar Patel, combined with Ben Foakes in a century stand for the sixth wicket.
In the morning, India added 15 runs to their overnight score before losing their last three wickets.
Root dismissed Jadeja (87) and Bumrah with successive deliveries but was denied a hat-trick by Mohammed Siraj.