Dean Elgar and new cap David Bedingham took South Africa into the lead on the second day of the first Test against India at SuperSport Park in Centurion on Wednesday.
Elgar made a boundary-studded 140 not out and Bedingham an assured 56 as South Africa reached 256 for five – a lead of 11 runs - when bad light stopped play.
Two late wickets kept India in the game, especially as there was no sign that South African captain Temba Bavuma would bat after suffering a hamstring strain on the first day.
There was no update on his condition from the South African dressing room but he remained in his tracksuit while other batsmen took their turns to pad up.
KL Rahul scored 101 for India – his eighth Test century and his second in successive matches in Centurion – and was last man out when India were dismissed for 245.
Elgar, 36, who has announced he will retire from international cricket after the second Test in Cape Town next week, had to survive a challenging start against Indian new ball bowlers Jasprit Bumrah and Mohammed Siraj.
But the left-handed opening batsman blossomed with some of the most fluent stroke play of his career when India surprisingly did not use the two strike bowlers immediately after lunch.
Elgar reached his fifty off 79 balls with ten fours and his 14th Test century was made off 140 deliveries with nine more boundaries. His scoring rate slowed as he went on the defensive in increasingly poor light before play was called off. He had faced 211 balls and hit 23 fours.
Bedingham, 29, has played English county cricket for Durham since 2020 and there was speculation that he would attempt to qualify for England.
But new South African Test coach Shukri Conrad called him up for the Test squad and he looked comfortable from the start of his innings
A tall right-hander, he went into his debut Test with a solid average of 49.51 compiled over 86 first-class matches, 44 of them for Durham. He hit seven fours and two sixes in an 87-ball innings while helping Elgar add 131 for the fourth wicket.
South Africa added 145 runs for the loss of two wickets in 33 overs in an afternoon session extended to make up for overs lost in a rain-hit first day.
But India came back strongly after tea, with Siraj bowling Bedingham with a full delivery and debutant Prasidh Krishna claiming a first Test wicket when Kyle Verreynne flashed outside his off stump to be caught behind.