India grasped the initiative with four wickets in the final session after half-centuries from Aiden Markram and Hashim Amla put South Africa in a promising position on day one of the second Test.
Markram continued his impressive start to his Proteas career, striking 15 boundaries in a well-crafted 94 and Amla made 82, having been dropped by wicketkeeper Parthiv Patel on 30, but India hit back after tea at Centurion.
Spinner Ravichandran Ashwin took 3-90 and Hardik Pandya produced a moment of brilliance to run out Amla as South Africa, handing a debut to paceman Lungi Ngidi, slipped from 246-3 to 269-6 at stumps.
Ishant Sharma, recalled along with Parthiv and KL Rahul in place of Bhuvneshwar Kumar, Wriddhiman Saha and Shikhar Dhawan respectively, removed AB de Villiers in a final session which ended with India in the ascendancy after toiling for much of a hot Saturday.
Amla has made at least a fifty in 10 of the 12 Tests he has played at Centurion. He averages over 80 at the venue. #SAvInd— ESPNcricinfo stats (@ESPNcric_stats) January 13, 2018
Markram and Dean Elgar saw off the new ball on a flat pitch after Faf du Plessis won the toss, the former playing a couple of exquisite off drives when the expensive Mohammed Shami over-pitched after runs had been hard to come by.
The India quicks, Shami aside, had been well disciplined, but Jasprit Bumrah was taken for 13 in an over before Virat Kohli wasted a review for caught behind when he thought Elgar had edged Ashwin through to Parthiv.
A confident Markram reached his fifty off 81 balls and South Africa moved to 78 without loss at lunch, but Murali Vijay ended an opening stand of 85, juggling to take a catch at silly point as Ashwin tempted Elgar into a loose drive.
Markram continued to punish stray deliveries that came along and looked set for a third Test hundred in just seven visits to the crease, but fell six runs short when he feathered Ashwin through to Parthiv and failed to get the decision overturned.
A diving Parthiv was unable to hold on down the leg side after Amla edged a delivery from Ishant, who was rewarded for his endeavour by removing De Villiers, the former skipper chopping on for 20 after tea.
Amla brought up his half-century by punching Ashwin to the cover boundary and appeared destined for a 29th Test hundred, only for Pandya to swoop and unleash a bullet of a throw to run him out with a direct hit.
The Proteas lost three wickets in just 14 balls to give India the upper hand, Quinton de Kock edging the impressive Ashwin to Kohli at first slip from his first delivery before Vernon Philander was run out for a duck.
Du Plessis and Keshav Maharaj prevented further damage from being done, but they will return to the crease on Sunday morning with work to do.
|Chelsea and Everton among Arnautovic suitors, claims agent|
|TJ Watt hopes to win NFL sacks race with brother JJ|
|Modric defends Ramos after Lovren comments|
|Southgate hails ´outstanding´ Delph as he talks up England strength in depth|
|No war with Manchester United over Fellaini, insists Martinez|
|Rooney to wear number 10 shirt against USA and receive armband from Delph|
|I don´t feel pressure of Liverpool expectations, claims Klopp|
|Steelers´ Roethlisberger texted Bell but ´didn’t hear back´|
|Reus and Kroos to sit out Germany´s clash with Russia|
|Van Dijk happy to recommend De Ligt if Liverpool ask|
|Sauber announce launch of junior programme|
|No ´breathtaking tennis´ in Djokovic´s win against Zverev|
|Curran: England spinners will be key in Kandy|
|Djokovic charges past Zverev to move closer to ATP Finals progression|
|Messi is a football alien - Malcom|
|Sky´s the limit for Sancho, says Dortmund team-mate Pulisic|
|Radwanska retires from tennis at 29|
|Maybe one day - Pulisic open to Premier League move|
|Suso ´proud´ of Real Madrid speculation but happy at AC Milan|
|Betis president convinced Lo Celso will stay|
|Injured Holder out of Bangladesh tour|
|Germany face relegation, final spots up for grabs - Nations League state of play|
|James Rodriguez out for several weeks with knee injury|
|Curran´s brilliant fifty rescues England´s innings|
|Lenglet: No problem with Dembele at Barca|
|Townsend rings the changes for Springboks clash|
|Claudio Ranieri´s managerial career in Opta numbers|
|Mahmudullah´s first century in eight years boosts Bangladesh|
|Fellaini gets the chop ahead of 31st birthday|
|Maradona: Solari will not last at Real Madrid|
|Molinari: Race to Dubai success would not surpass Ryder Cup glory with Fleetwood|
|Dortmund star Sancho was a Bayern target, confirms Salihamidzic|
|Gerrard enjoying ´buzz´ of management|
|Hamilton questions approach to Formula One expansion|
|Ranieri honoured to lead ´exceptional´ Fulham squad|
|Solari saw Isco out of shape - Ceballos|
|Ranieri replaces Jokanovic at Fulham|
|Durant keeps details of Green spat ´in-house´ but envisages resolution|
|Rooney: Kane and Sterling are England superstars|
|Messi will make Argentina return, says Maradona|
|Warriors drop Hawks as Green serves suspension|
|In-form Healy sends Australia into semis|
|Former NBA star McGrady says Carmelo Anthony should retire|
|Celtics´ Smart: We have to look at ourselves in the mirror|
|Federer plays down preferential treatment talk|
|Mourinho is better than Guardiola – Maradona|
|Mbappe plays down Pele comparisons|
|Don´t worry bro – Mendy responds to Trump|
|Melvin, Snitker win manager of the year awards|
|Warriors´ Green suspended for Hawks clash|
|Asensio: It´s not for me to lead Madrid|
|Rooney ready to enjoy England farewell after pressure of ´Golden Generation´|
|Ludwigsburg stun high-flying Murcia in BCL|
|Rams v Chiefs moved to LA due to Mexico City field conditions|
|Skriniar discussing new Inter contract, confirms agent|
|Former Barcelona boss Martino named MLS Coach of the Year|
|Bell fails to report to Steelers, will sit out rest of season|
|Federer back on track after dismal Thiem display|
|Udinese appoint Nicola after sacking Velazquez|
|Monaco deny they broke rules regarding youth recruitment|
|Del Bosque, Zidane, Lopetegui - The former Castilla coaches Solari follows into Real Madrid hot seat|
|Ozil rejected ´crazy offers´ from Asia, reveals agent|
|Real Madrid appoint Solari on permanent basis|
|LeVert avoids need for surgery, should return this season|
|Neuer confident despite concerns over Bayern Munich form|
|All I ever wanted to do is win, says Sixers signing Butler|
|Pogba: Coming home to United was the best feeling ever|
|Watson among four signing new Bath deals|
|Susanna Dinnage to replace Scudamore as Premier League chief executive|
|Murray commits to Brighton until 2020|