Pune: Virat Kohli scored a career-best 254 not out and moved past 7000 test runs to help India take command on Day 2 of the second match of the series against South Africa on Friday.
Largely thanks to its captain's seventh double-century in tests, India declared its first innings on 601-5 and had reduced the Proteas to 36-3 after 15 overs by stumps.
South Africa, already 1-0 behind in the series, was trailing by 565 runs.
Kohli moved ahead of compatriots Virender Sehwag and Sachin Tendulkar, who each scored six, and into joint-fourth on the list for most test double-centuries - level with Wally Hammond (England) and Mahela Jayawardene (Sri Lanka).
Kohli's score surpassed his previous best - 243 against Sri Lanka at Delhi in 2017 - and included 33 fours as well as two sixes.
Kohli put on 225 runs for the fifth wicket with Ravindra Jadeja (91) off only 237 balls on a painful day's play for the the South African attack. Left-arm spinner Keshav Maharaj (1-196) left the field because of an injured shoulder and went to the local hospital for scans.
"The way they batted, we were able to get 600 on the board," said India vice-captain Ajinkya Rahane. "Both Kohli and Jadeja made it look so easy."
Jadeja scored his 12th test half-century and hit eight fours as well as two sixes. India accelerated toward a declaration after tea and despite a triple-century being on the horizon, Kohli called a halt to the innings on his partner's dismissal.
In reply, South Africa was stunned by Umesh Yadav, who dismissed openers Aiden Markram (0) and Dean Elgar (6) within four overs.
Mohammed Shami (1-3) then removed Temba Bavuma (8) as India ran through the Proteas' top order.
Theunis de Bruyn (20 not out) and nightwatchman Anrich Nortje (2 not out) were unbeaten at end of play.
Earlier, Kohli reached his 26th test hundred off 173 deliveries and put on 178 runs for the fourth wicket with Rahane (59).
On day one, Mayank Agarwal (108) notched up his second test century.
India leads the three-match series 1-0 after winning the first test in Visakhapatnam by 203 runs.
India: 601/5d (Virat Kohli 254 not out, Mayank Agarwal 108, Ravindra Jadeja 91, Ajinkya Rahane 59, Cheteshwar Pujara 58; Kagiso Rabada 3/93;
South Africa: 36/3: (Theunis de Bruyn 20 batting, Anrich Nortje 2 batting; Umesh Yadav 2/16)