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.
|Kerber downs Sharapova in Melbourne masterclass|
|I prefer Fekir to Neymar - Lyon president Aulas fires another pre-match barb at PSG|
|Wales dealt Priestland blow ahead of Six Nations|
|Zverev fails to reach last 16 after shock loss to Chung|
|Will Smith brings A-list power to the Big Bash League|
|Sleep and chocolate – Halep too exhausted to think about tennis|
|Beal leads Wizards past Pistons, Raptors edge Spurs|
|Dortmund boss Stoger leaves door open for Aubameyang return amid Arsenal links|
|Davis tired but upbeat after matching Aus Open record in marathon loss to Halep|
|Halep prevails in record-equalling epic at Australian Open|
|Neymar can play with Ronaldo at Real Madrid – Mijatovic|
|Dyche compares Sanchez-Man United move to Harry Potter|
|Landry grabs second-round lead as Rahm lurks|
|Kristaps Porzingis takes subtle jab at fans, media for All-Star starter snub|
|Schurrle annoyed at more dropped Dortmund points|
|Carrick expected to become Man Utd coach, reveals Mourinho|
|Koepka faces race to be ready for Masters|
|Barkley ´obsessed´ with becoming world-class at Chelsea|
|Guardiola wants ´three or four´ signings but rules out Sanchez alternative|
|Conte defends Chelsea amid surprise Carroll & Crouch links|
|Atlanta United wrap up Barco signing for MLS record fee|
|Derby County 0 Bristol City 0: Penalty controversy in goalless draw|
|Pau clinch top spot with perfect record|
|Hertha Berlin 1 Borussia Dortmund 1: Kagawa equalises in Aubameyang´s absence|
|Brighton break transfer record for Locadia|
|Dortmund still waiting on ´concrete´ offer for Aubameyang|
|Tom Brady addresses media, reveals no details of hand injury|
|Can will ´give everything´ at Liverpool despite Juventus talks|
|One Direction star trained with Mourinho´s Chelsea|
|Goretzka asks Schalke fans to not turn on him after agreeing Bayern deal|
|Youngs agrees new Leicester deal|
|Wozniacki slams ´rude´ umpire after Bertens win|
|Van Persie secures return to Feyenoord|
|Conte should replace Wenger at Arsenal, claims Carragher|
|Kimmich named Germany’s 2017 Player of the Year|
|Nadal´s best required against in-form Schwartzman|
|Moyes denies scouting Batshuayi and deals Chelsea blow with Carroll injury|
|Vunipola´s Six Nations hopes dashed as 12-week absence confirmed|
|No one like Ronaldinho until Messi - Guardiola lavishes praise on Brazil great|
|Simeone shrugs off mentality concerns at Atletico Madrid|
|Going for gold? Neymar meets Beckham in matching jackets|
|You think I change my mind that quick? – Klopp faithful to No.1 Karius|
|Conte backs Morata to overcome disciplinary concerns|
|Lloris a doubt for Southampton game, confirms Pochettino|
|Pieters edges into Abu Dhabi lead|
|Klopp doubts Alexis Sanchez tug-of-war decided by money|
|Conte admits Pedro dived|
|Valencia tie down Torres amid Real Madrid, Barcelona reports|
|Bangladesh claim record win over Sri Lanka|
|Congratulations! Guardiola offers well wishes to United-bound Sanchez|
|Pele pulls out of London event amid conflicting health reports|
|Conte would be ´happy´ for transfer help|
|Kontaveit dumps Ostapenko out, Wozniacki battles through|
|Sanchez to United not done at all, insists Mourinho|
|Rafa sails through, Kyrgios books Dimitrov showdown|
|Emery refuses to indulge Neymar-Cavani penalty debate|
|Wozniacki battles past stubborn Bertens|
|Goretzka chose Bayern over England, Spain and Italy – Heynckes|
|BBBofC ready to lift Fury suspension|
|I would reject such players – Heynckes slams ´selfish´ Aubameyang|
|Kyrgios proves cool credentials to Will Smith in Tsonga win|
|Western Sydney Wanderers 0 Melbourne Victory 3: Barbarouses extends purple patch|
|Conte likes Dzeko but Chelsea have made no offer, says agent|
|Goretzka´s Bayern move good for Bundesliga, suggests Rummenigge|
|Root guides England home as Finch century proves in vain again|
|Walcott left Arsenal with his things in bin bags|
|Nadal breezes past Dzumhur in Melbourne|
|Schalke confirm Goretzka will join Bayern|
|Sergi Roberto renews Barca deal until 2022|
|Fernandinho seals extended Manchester City contract|