At the break, captain Rahul Dravid and opener Wasim Jaffer were batting on 16 each.
England got an early breakthrough when Steve Hamrison had Sehwag caught by wicketkeeper Geraint Jones when the team total was at 18.
Earlier, England were dismissed for 300 in their first innings, with Anil Kumble claiming five wickets to become only the fifth bowler to cross 500 Test wickets.
Playing his 105th Test, the leggie trapped Steve Harmison to reach the milestone. His others victims were Ian Bell (38), Paul Collingwood (25), Geraint Jones (52) and Monty Panesar (0).
Other Indian wicket-takers were Munaf Patel (three for 72) and Irfan Pathan (two for 70).
A captain's knock of 70 by Adrew Flintoff and his solid 103-run partnership with wicketkeeper Geraint Jones for the sixth wicket helped England reach 288 for six at lunch.
Resuming at the overnight total of 200 for five, Flintoff and Jones frustrated the Indian bowlers and Flintoff hit debutant spinner Piyush Chawla for two huge sixes, one over long-on and the second over midwicket.
Flitoff was, however, lucky after his Indian counterpart Rahul Dravid dropped him at first slip in the second over of the day.
Munaf Patel finally removed Flintoff caught and bowled, after India had taken the new ball.
Playing his 58th Test, the England skipper reached the fence 11 times and posted two sixes. He faced 123 deliveries and occupied the crease for 180 minutes. Munaf, who hails from Gujarat and a product of MRF Pace Academy, captured his second wicket.
After the departure of Flintoff, Liam Plunkett joined Jones and the England stumper today completed 1000 Test runs when he hit a loose delivery of Chawla to midwicket for four.