Alastair Cook finally fell for 190 but England's middle order kept up the momentum on day three of the third Test in Kolkata.
A freak run out finally cost the England captain his wicket, but despite that loss the tourists closed on 509 for six at stumps, a lead of 193 runs.
There were half-centuries for Jonathan Trott (87) and Kevin Pietersen (54), while Matt Prior and Graeme Swann put on a brisk 50 partnership as the day drew to a close.
India's bowlers found the pitch more helpful, with uneven bounce and occasional spin bringing them into play, but despite that, they could only prise out five wickets in the day's play.
They will hope that the pitch has not deteriorated so sharply that they can bat their way to safety on day four and five, but England remain heavy favourites to win and take a 2-1 lead in the series.
Having looked all at sea in Ahmedabad, England's transformation has been remarkable, and their sensible approach to batting the day paid off in style. Cook and Trott began cautiously against the spinners, building slowly and patiently.
The runs only began to flow when India took the second new ball 15 overs into the day, with Trott particularly opening up against the seamers.
India's fielding was predictably ragged - there were countless misfields and fumbles, but none more costly than Ishant Sharma spilling a simple return catch against Cook on 156. Added to Cheteshwar Pujara dropping him yesterday on just 17, it summed up how lacklustre the hosts' efforts in the outfield have been.
England did not lose a wicket before lunch, and Trott and Cook both looked set to reach landmarks. In the end, neither did: Trott exited after edging a good delivery from Pragyan Ojha 13 runs short of his century, before Cook departed in bizarre fashion.
He had left his ground at the non-striker's end, though was making no effort to take a single. Virat Kohli threw at the stumps, and to avoid being hit on the hands or arm, Cook lifted his bat out of the way. He had not returned to his crease, however, and when the ball hit the stumps there was a moment of resignation as he realised what he had done.
England's progress on a pitch that seemed to be wearing continued largely unabated, with Ian Bell the only player not to get going, caught behind for five off the bowling of Sharma.
Pietersen attacked on either side of tea, only to be undone by a sweep and given out lbw to Ravi Ashwin after reaching his fifty. Samit Patel played some elegant, classy shots in a cameo worth 33 runs, but his new Test best innings ended abruptly after cutting Ojha to slip. Whether he has done enough to convince the selectors to persist with him as a batsman remains to be seen.
Prior (40) and Swann (21) saw England to the close with a series of belligerent strokes. With a longer tail than usual of James Anderson, Steven Finn and Monty Panesar, the onus will be on the two not out batsmen to continue where they left off, with India on the ropes, and push the lead past 200 on day four, and give England every advantage on a tired-looking track against tired-looking opponents.