Four wickets in the final hour of play helped England come back on day three of a finely-balanced final Test.
The tourists had toiled for 75 wicketless overs as India captain MS Dhoni and centurion Virat Kohli closed them down with some ease, but both had gone by the close of play, along with Ravinder Jadega and Piyush Chawla.
That flurry of wickets should give England hope that they can now secure at least the draw they need to win the series.
India finished 297-8, just 33 runs behind England's first innings total.
Respite eventually came for the visitors when Swann had Kohli pushing forward in defence and Dhoni was run out shortly after by a direct hit from Alastair Cook.
Anderson (four for 68) and Swann were again the only England bowlers to take a wicket. Monty Panesar, despite failing to claim a batsman, has now given away only 67 runs in his 46 overs in the innings.