India reached stumps just 32 runs ahead with a single wicket remaining as England dominated day four of the third Test in Kolkata.
The tourists were bundled out quickly for 523 to end their first-innings, adding just 14 runs in the morning for their final four wickets.
India reduced their 207-run deficit quickly thanks to a counter-attacking opening stand from Virender Sehwag and Gautam Gambhir, who reached 86 without loss at lunch.
But Sehwag fell to the first ball of the afternoon session, precipitating a collapse in which they lost six wickets for 59 runs.
Ravi Ashwin, who came in at eight, provided sterling resistance, scoring an unbeaten 83 in partnership with the tail-enders and helping India avoid an innings defeat and ensuring the game went to a fifth day.
Despite that rearguard, it appears his efforts will merely delay England taking an unassailable 2-1 series lead with a Test to play.
Just 16 wickets fell in three days, but as the pitch tired 13 went on day four, starting with the second ball of the day, as Graeme Swann edged a turning ball from Pragyan Ojha.
Matt Prior followed the next over, steering a Zaheer Khan to MS Dhoni behind the stumps, while in consecutive deliveries Ashwin accounted for James Anderson and Monty Panesar, although the latter was upset having got a sizeable bit of bat to the ball and still being adjudged leg before wicket.
India rode their luck early - Sehwag edged Anderson only for Swann to drop the catch, while Gambhir's innings was not always secure - but they laid siege to the spinners in particular, taking 20 runs from the final two overs of the morning session - the first in the match that the home side unarguably had the better of.
Once Swann bowled Sehwag through the gate after lunch for 49, however, the complexion of the match changed.
Cheteshwar Pujara came and went for eight, run out by a direct hit from Ian Bell. Gambhir got another start without a big score, edging to Matt Prior off the bowling of Finn, chasing a wide one.
Sachin Tendulkar (five) failed once more, Swann drawing the edge and Jonathan Trott pouching the catch. James Anderson then took centre stage, exploiting uneven bounce and beating Yuvraj Singh (11) with a ball that kept very low, before getting MS Dhoni to edge behind the next over for a three-ball duck.
Virat Kohli and Ashwin combined for 33 runs before Kohli was set up by Finn with reverse swing, edging behind to Prior when on 20. Zaheer became Finn's third victim, a four-ball duck sealed with an lbw.
At 159 for eight, it looked like the only question was at which point in the day England would seal the victory. Ashwin had other ideas, playing with more composure than any of India's front-line batsmen. Matt Prior missed a stumping and a catch against Ishant Sharma early in his innings, allowing the tail-ender to doughtily see off 53 deliveries for 10 runs.
Panesar eventually cleaned up with a fuller delivery, but Ojha came out with similar determination, and helped India through to the close. Despite their defiance, it would surely take another session of brilliant batting from Ashwin on day five to give India the slightest chance of stopping England wrapping up the contest.