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.
|Sandy Lyle gets The Open underway at Carnoustie|
|Roosters sign England international Hall|
|Ovechkin, Kim earn major honours at ESPY Awards|
|Owens not ´actively seeking´ to play in NFL again|
|Argentina need Messi – Tevez urges Lionel not to retire|
|Minnesota United 2 New England Revolution 1: Ramirez, Quintero sink stuttering visitors|
|Shaw: I want to be first name on Man United teamsheet|
|Manny Machado dealt to Dodgers|
|Pjanic hails Ronaldo arrival but refuses to confirm Juve future|
|Perotti: Roma can cope without Liverpool-bound Alisson|
|Klopp hopes Liverpool building towards title tilt|
|Karlovic exits as four seeds bow out in Newport|
|Angels clap back at Manfred´s marketing comments on Trout|
|Titans DL Casey will still protest despite new anthem policy|
|Popovich on Leonard trade: It´s time to move on|
|Zola returns to Chelsea as Sarri´s assistant|
|Anthony Joshua targets ´dream´ fight in Texas|
|Celtic 3 Alashkert 0 (6-0 agg): Dembele hits brace before injury worry|
|Schwartzman stumbles but Spanish duo reach last eight at Swedish Open|
|Top seeds progress in Bucharest as Larsson conquers Kung|
|Perez promises ´incredible´ signings at Real Madrid|
|Liverpool need a top goalkeeper - Souness|
|It was just an absolute car crash - Root regrets bat-drop celebration|
|Mourinho´s pre-season fears mount with Sanchez sidelined|
|Alisson thanks Roma fans ahead of rumoured Liverpool switch|
|Pogba must understand his World Cup heroics, says Mourinho|
|Odriozola excited by Lopetegui reunion at Real Madrid|
|Revis announces retirement from NFL after 11 seasons|
|The Open 2018 diary: Rahm´s saving Grace, Rory´s going grey|
|Kawhi Leonard traded to Raptors as DeMar DeRozan heads to Spurs|
|Cantona, Rosberg and other surprise retirements after Warburton hangs up his boots|
|No doubting Thomas as he climbs into yellow with stage win|
|Liverpool´s Oxlade-Chamberlain to miss ´vast majority´ of 2018-19|
|Open Championship by far the greatest - Player|
|Sarri wants new central midfielder and hints at Chelsea stay for Cahill|
|Nantes sign former Manchester United full-back Fabio|
|Marcelino rewarded with one-year Valencia extension|
|Warburton retires: Bale leads social media tributes to Welsh great|
|Mistakes do not define me, says Chelsea boss Sarri|
|Saints and Tigers to honour Horne with Twickenham clash|
|I want to keep Hazard, says Sarri|
|Europe must stop American juggernaut at Carnoustie|
|Joshua planning for heavyweight ´legacy´ – starting with Povetkin|
|Warburton retires: Wales and Lions star´s career in numbers|
|Matching ´ridiculous´ Tiger not on McIlroy´s radar|
|Spain sent me World Cup SOS, claims Benitez|
|Ozil, Gundogan critics should ´shut up´ - Klopp|
|McIlroy plans to play carefree at Carnoustie|
|Pakistan thrash Zimbabwe to secure series win|
|Warburton retires: Gatland salutes Wales and Lions great|
|Sturridge determined to stay at Liverpool|
|Mbappe is an alien – Varane|
|Warburton retires from rugby|
|India to assess Bhuvneshwar as Bumrah makes Test squad|
|Injured Craddock passes $100,000 in donations at Tour de France|
|WATCH: Perez taunts team-mate after audacious training goal|
|Alison Becker tweets ´I´m joining Liverpool´... but all is not as it seems|
|F1 Raceweek: Hamilton chasing down Schumacher - German GP in numbers|
|Notorious Carnoustie holds fond memories for legendary Watson|
|Rooney refused to be ´dead weight´ at Everton|
|The Open 2018: Molinari, Rahm and the in-form contenders at Carnoustie|
|Marsh interested in Australia leadership roles|
|United can challenge City for Premier League title, says Rooney|
|MLB All-Star 2018: Seven things you missed at Midsummer Classic|
|American League win home run-filled MLB All-Star game|
|Dragons lure Sims from Broncos|
|Cassano: Ronaldo like Nadal, Messi like Federer|
|Lakers´ Ball undergoes successful knee surgery|
|´We kill them, Messi or no Messi´ - Pogba´s pre-Argentina World Cup speech revealed|
|Cardinals suspend GM Keim for five weeks after DUI|