The tourists took six wickets for 36 runs but, with an innings win almost within their grasp in the final session, Ravichandran Ashwin (83 not out) prevented them finishing the job.
Number eight Ashwin even took India into a 32-run credit by stumps on 239 for nine, and forced England to take a second new ball under floodlights, as the contest somehow limped into a final day. There was no way past Ashwin and Ishant Sharma for more than an hour in a ninth-wicket stand of 38.
Ashwin escaped a stumping chance on 22, and Sharma was dropped by wicketkeeper Matt Prior on nought - both off Monty Panesar.
Then even after Panesar at last got the number 10, toppling over to be bowled, Ashwin stayed to complete his 111-ball 50 with successive fours off Graeme Swann which also ensured England must bat again.