Resuming at an overnight score of 286 for four, England went past India's first innings total of 369 even as Samit Patel became the second English player after captain Alastair Cook to complete his century.
At lunch, Tim Bresnan was unbeaten on 21 and James Anderson was not out on 1.
Patel, who was unbeaten on 82 yesterday, scored a ton while wicketkeeper Matt Prior hit a half-century to help England take a slight edge over the hosts.
For India, Yuvraj Singh, who grabbed two wickets in quick succession yesterday to push the visitors on to the back foot, was again among the wickets as he dismissed both Patel and Prior in one over after Cook had fallen to medium pacer Ashok Dinda. Swann departed at the stroke of lunch to give Vinay Kumar his first wicket of the innings.
Yuvraj, after making a fine 59 with the help of seven fours and four sixes, contributed with the ball too as his lunch time figures read an impressive 74 for four in 23 overs.
On resumption of play today, England initially made slow progress against the medium pace duo of Dinda and Irfan Pathan. Barring a ball on his leg off the first ball from Dinda, which skipper Cook helped himself to a four to long leg, he along with his fifth wicket partner Patel were kept in check by the Indian pacers.
More From This Section
Cook departed when Dinda angled a ball away to which the left handed opener poked his bat at and edged to keeper Wriddhiman Saha after 19 minutes of play.
His partnership with Patel yielded 169 runs off 321 balls, in 218 minutes that pulled the side from 133 for 4 to 300-run plus. (MORE)