With two days and the pitch showing signs of wear, the home team are likely to have to bat for all of Sunday and most of Monday to avoid a 2-0 series defeat, providing India captain Rahul Dravid enforces the follow-on.
Ian Bell (63), Paul Collingwood (62) and Alastair Cook (61) all made half-centuries but England's dire situation demanded a whole lot more. Chris Tremlett was 18 not out and Monty Panesar yet to score at the close of play.
India, who racked up a huge first innings 664, are well placed to win their first Test series in England for 21 years while the hosts are set to surrender their six-year unbeaten streak in a home series.
The day started with nightwatchman James Anderson falling lbw for 16, a dismissal that led to England slumping from 78 for one to 124 for four at lunch.
Cook, who cracked 11 boundaries, mixed exhilarating stroke-play with an element of fortune, having been dropped on 13 and 28 at leg slip.
The opener eventually departed when a leading edge from leg-spinner Anil Kumble went to mid-off.
The hammer blow for England came when skipper Michael Vaughan fell on the stroke of lunch. His battling 11 in 66 minutes ended when he drove Kumble straight back at him, sparking wild celebrations by the Indians.
Collingwood and Kevin Pietersen (41) almost batted through the afternoon session before the latter was out five minutes before tea, ruining an otherwise well-paced innings.
Pietersen fell to occasional spinner Sachin Tendulkar's first ball as he neglected his patient approach and tried to force an off-side boundary, only to edge to Dravid at slip.
Bell joined Collingwood and again another recovery seemed on the cards when they added 86 for the sixth wicket.
But Collingwood was given out lbw by umpire Ian Howell when a ball from Shanthakumaran Sreesanth looked as though it would have missed leg stump.
That wicket sparked a second collapse in the innings as England crashed from 288 for five to 305 for nine.
Bell's breezy 96-ball effort also ended with a poor shot as he chased a wide Zaheer Khan ball and was caught behind by Mahendra Dhoni.