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.
|Just ´another weekend´ for champion-elect Hamilton|
|G League will offer $125K to top prospects in lieu of NCAA one-and-done route|
|Chargers defensive end Bosa ´a few weeks´ away from return, says father|
|Bale back in full Real Madrid training|
|Roma supporter found not guilty of inflicting GBH on Liverpool fan Sean Cox|
|´Fantastic´ Neuer will prove he´s still the best, says Lloris|
|Perez secures Force India stay|
|Australia wait on Khawaja scan|
|Shaw signs Manchester United extension|
|Jones lays down challenge to snubbed England star Cipriani|
|West Ham´s Pellegrini rejects Dzeko speculation|
|Emery fails to assure Ramsey of Arsenal future|
|Pakistan on course for victory after Babar 99 and farcical run out|
|Canelo ready to leave comfort zone to face Fielding|
|Eriksen ready for Tottenham return, Pochettino confirms|
|Titans coach rocked by Hurrell´s Rhinos switch|
|Rubin Kazan suspended from UEFA competition for FFP breach|
|Real Madrid could sack Lopetegui if results don´t improve, says Essien|
|On-court coaching would add to drama - Mouratoglou|
|Babbel lauds ´top class´ Ronaldo after Juventus switch|
|Carmelo Anthony: Rockets bench role challenging mentally|
|Maqsood preferred to Amir in Pakistan T20 squad|
|Make Ramsey Arsenal captain, don´t let him leave – Wilshere|
|Kaneria admits guilt in spot-fixing case|
|No coach can work miracles – Ibrahimovic defends under-fire Mourinho|
|Morgan earns England recall, Cipriani overlooked|
|Reavie leads CJ Cup, solid start from Koepka|
|Juventus kicked me out to sign Ronaldo – Higuain|
|England forward Hughes given six-week ban|
|Injured Halep withdraws from WTA Finals|
|Ronaldo exit makes all the difference for Real Madrid – Luxemburgo|
|Manchester United´s Chelsea Blues and other one-sided rivalries|
|Babbel fears for Kovac´s Bayern future|
|Bradley homers again, Red Sox take 3-1 lead over Astros|
|Ayton, Doncic shine on NBA debuts|
|Leonard focusing on future after Raptors debut|
|MLS Review: Rooney stunner seals DC win, Sounders clinch play-off spot|
|Pochettino ´proud´ of Dier for Ramos tackle|
|Wallabies name three uncapped players for All Blacks clash|
|Lakers coach Walton will monitor LeBron´s minutes, plans to use deep rotation|
|Lloris: United´s Pogba unfairly judged because of transfer fee|
|´Phenomenon´ Mbappe deserves Ballon d´Or, says Buffon|
|Dodgers on cusp of World Series after beating Brewers|
|Mata braced for ´difficult month´ at Man United|
|WATCH: Rooney scores wonderful free-kick for DC United|
|Kaino handed five-week ban for striking Roberts|
|Bears star Khalil Mack ´day-to-day´ with ankle injury|
|Anthony has ´a clearer understanding´ of his role with Rockets|
|Brewers remove Miley after one batter against Dodgers|
|Rams rule out Kupp for 49ers game|
|Giants owner Mara to talk with Beckham Jr|
|Bamberg battle back to claim Champions League win|
|MLB investigated alleged Astros sign stealing, found no wrongdoing|
|Timberwolves star Wiggins to donate $22 for every point this NBA season|
|Red Sox´s Sale won´t start game five of ALCS|
|Tsitsipas and Shapovalov advance at Stockholm Open|
|Witsel to Dortmund is signing of the season - Martinez|
|Pique confident Nadal will play in 2019 Davis Cup|
|Seeds suffer in Moscow and Luxembourg|
|Johnstone grabs hat-trick as England ease past France|
|Pogba and Mourinho disagreement over Instagram video, confirms Pereira|
|Nuggets coach Malone signs contract extension|
|Mayweather accepts Khabib´s challenge: ´We´re fighting´|
|Slovenia sack Kavcic as head coach|
|Morgan and Rashid star as England win rain-reduced ODI in Sri Lanka|
|Romagnoli aims to make Gattuso proud in Milan derby|
|Naldo signs Schalke extension|
|Bills to start quarterback Anderson against Colts with Allen out|
|O´Sullivan makes 147 at ´hellhole´|
|Barcelona know when captain Messi is angry – Abidal|