England skipper Kevin Pietersen struck a majestic 15th Test century before India fought back to take two late wickets on the third day of the second and final Test on Sunday.
Pietersen stroked an aggressive 144 and all rounder Andrew Flintoff a patient 62 before both fell in the last two overs of the day to reduce England to 282 for six, replying to India's first innings 453 all out.
Off spinner Harbhajan Singh trapped Pietersen leg before with a straighter delivery from round the stumps.
Leg spinner Amit Mishra then had Flintoff caught off bat and pad at forward short leg to help the hosts, 1-0 up in the series, wrest the initiative.
Pietersen dominated the day's play with two crucial partnerships.
The 28-year-old shared a 149-run fifth wicket partnership with Flintoff after adding 103 runs for the third wicket with opener Alastair Cook, who made 50.
He also completed 1,000 Test runs in a calendar year for the third successive time.
Playing in his 45th Test since his debut in 2005, he became the third fastest England player to reach the 4,000 run mark, emulating Jack Hobbs. Only Herbert Sutcliffe (43) and Len Hutton (44) achieved the feat in fewer Tests.
Pietersen braved a cracked rib to play some fine shots, including a stunning switch-hit six against off spinner Harbhajan Singh over extra cover before completing his hundred before tea.
The England skipper struck 17 fours as well as the audacious six in his 201-ball effort spanning five hours.
It was his third Test century against India and second in only his third game as captain.
India finished the day as strongly as they began after Zaheer Khan and Ishant Sharma swung the ball and struck in the first two overs in a start delayed by 90 minutes due to fog.
Left-arm Zaheer trapped Andrew Strauss (0), who scored 123 and 108 in the six-wicket loss in the first Test in Chennai.
Ishant then forced the struggling Ian Bell (1) to play his very first delivery onto the stumps.
The number three batsman had almost lost his place in the side to Owais Shah after scoring 17 and seven in the first Test, and only notching one fifty in his last nine innings.
Pietersen cut loose as 154 runs flowed from 36 overs in the extended afternoon session after England resumed on their lunch score of 57 for two.
Zaheer struck a second time when he trapped Cook, aided by reverse swing. The left-hander hit eight fours in his 16th Test fifty and second in successive matches.
England were down to 131 for four when Mishra had Paul Collingwood (11), who scored 108 in Chennai, caught behind with a sharp leg break off his third delivery.
Pietersen then rebuilt the innings, often waiting on the backfoot and shuffling constantly to put the bowlers off their stride.
Indian opener Gautam Gambhir top-scored with 179 and Rahul Dravid hit 136, his 26th Test hundred, in the Indian innings.
The hosts won the first Test by six wickets.