A stunning fifty by Virender Sehwag set up India's confident chase of 387 in the first Test after twin hundreds enabled England put up a challenging target.
The aggressive opener hit 83 off just 68 balls to give India an explosive start that left England breathless after fine centuries by Andrew Strauss and Paul Collingwood had put the tourists in command.
At stumps on day four in Chennai on Sunday, India were strongly placed at 131 for one with opener Gautam Gambhir on a gritty 41 along with Rahul Dravid (2). They still need 256 for victory.
Sehwag, who lashed 11 fours and four sixes for his 18th Test fifty, raised 117 for the first wicket with Gambhir, before falling lbw to debutant off-spinner Graeme Swann shortly before the close to give England hopes of regaining ascendancy.
England declared their second innings closed at 311 for nine shortly after tea.
Opener Strauss, who hit 123 in the first innings, and Collingwood struck 108 each, taking their overnight fourth-wicket stand to 214 as the tourists batted themselves into a commanding position.
Left-handed Strauss became only the second England batsman to score a century in each innings of a Test against India.
The Middlesex batsman reached his 14th Test century with a single to mid-on off medium-pacer Zaheer Khan to match Graham Gooch's feat against India at Lord's in 1990.
Strauss also became only the 10th England batsman to score a century in each innings of a Test.
The overnight pair dominated the Indian attack after England resumed at 172 for three, raising another 85 runs before Strauss fell in the sixth over after lunch.
The left-hander, 73 overnight, pushed tentatively at off-spinner Harbhajan Singh to lob a catch to VVS Laxman at short cover, triggering a minor collapse as Zaheer later grabbed three quick wickets.
Gritty Strauss punched off-spinner Harbhajan Singh for four past point to bring up England's 200 and Collingwood, 60 overnight, hit leg-spinner Amit Mishra to the fence with a lofted on-drive.
Strauss hit eight fours in his masterful 244-ball effort spanning over six hours after a poor series against South Africa in July and August.
Fast bowler Ishant Sharma forced Andrew Flintoff to edge behind for four and Zaheer then dismissed Collingwood leg before. Collingwood hit nine fours in his 250-ball effort for his seventh Test hundred.
Zaheer sent back Graeme Swann (7) first and Steve Harmison (1) in the last over before tea as the tourists lost five wickets for the addition of 44 runs.
Matt Prior made 33 before he was caught by Virender Sehwag off Ishant Sharma for 33 resulting in England declaring their second innings.
England had gained a 75-run first innings lead after bowling out India for 241 in the first over after lunch on Saturday.
They resumed their aborted tour after tight security was promised for the two tests in the wake of last month's attacks in Mumbai that killed 179 people.