Virender Sehwag and Sachin Tendulkar plundered centuries as India moved into a strong position on the second day of the final Test against South Africa at Eden Gardens.
The third-wicket pair added 249 to put the home side on course to claim a sizeable first-innings lead in a match they must win to claim a share of the two-game series.
Sehwag hit a brutal 165 at just under a run-a-ball and Tendulkar made a more measured 106 before South Africa struck back with three wickets, including both centurions, in the final six overs of the day.
India closed at 342-5, a lead of 46 overall, with VVS Laxman (9no) and nightwatchman Amit Mishra (1no) at the crease.
South Africa's last-wicket pair Wayne Parnell (12) and Morne Morkel (11no) extended their partnership to 35 at the start of the day.
Resuming at 266-9, they took advantage of some wayward bowling from India seamers Zaheer Khan and Ishant Sharma with the second new ball.
Zaheer (4-90) eventually ended their fun, trapping Parnell lbw to end South Africa's first innings at 296.
Gautam Gambhir and Sehwag began India's reply in positive fashion, amassing 73 in just over nine overs.
Sehwag, who had begun with an inside-edged single, was particularly belligerent as he lashed Dale Steyn for three consecutive hits to the fence in the bowler's second over, smacked three more off Morkel's third over and then greeted the introduction of Parnell with a four and a six.
Gambhir had weighed in at the other end with a more restrained innings, but South Africa were handed a huge slice of fortune when the left-hander was run out following a mix-up.
Sehwag attempted a drive off Parnell but only managed an inside edge which flew in the direction of deep square leg.
He turned for two before changing his mind but Gambhir had already responded to the call and was stranded half way down the pitch when Alviro Petersen's throw came in from the deep.
Sehwag, needing six off two deliveries to overhaul Jacques Kallis' record for the fastest half-century in Test history, briefly lost momentum and South Africa had the door ajar with the wicket of Murali Vijay (7).
Vijay, tentative throughout, was softened by a barrage of short-pitched deliveries and Morkel eventually induced the edge from an unconvincing push off the front foot.
Tendulkar joined Sehwag and the Proteas seemed to have pinned India's top order down as the master batsman took time to settle in and the bounty of runs dried up.
Sehwag was then grassed on 47 by Jean-Paul Duminy at slip off Morkel and the opener went past the half-century mark in 41 deliveries, even as India struggled to the lunch interval at 97-2.
The afternoon session began with another barrage of Sehwag boundaries and Tendulkar quickly joined in putting South Africa's attack to the sword.
Sehwag reached his 19th Test century with his 16th boundary - he had also smashed Paul Harris for a six over mid-on - needing only 87 deliveries to reach the milestone.
At the other end, Tendulkar raised his 55th half-century and the home side, for the first time in this series, went through a session without the loss of a wicket.
The duo continued their assault in the evening session and Tendulkar, who had curbed his strokeplay considerably as he approached three figures, eventually got there for the 47th time.
Both batsmen were removed in quick succession with the close looming, off-spinner Duminy, introduced for the first time in the 71st over, severing the partnership by scalping Sehwag in his first over.
Left-arm spinner Harris snapped up Tendulkar in the following over and Steyn bowled Subramaniam Badrinath (1) with reverse swing, those late blows helping South Africa stay in touch.