Sri Lanka seamers Kasun Rajitha and Vishwa Fernando took three wickets each to bowl out the Proteas for 222 on the first day of the second and final test on Thursday, but the hosts struck back late in the day with the ball.
The tourists were 60/3 at the close, still trailing by 162 runs on a St George’s Park wicket that is providing plenty of assistance for the bowlers.
Opener Lahiru Thirimanne (25*) and nightwatchman Rajitha (0*) will resume on day two today.
Duanne Olivier (2/25) bowled Oshada Fernando (0) and had Kusal Mendis (16) caught to make early inroads into the Sri Lanka batting, while Kagiso Rabada grabbed the wicket of captain Dimuth Karunaratne (17) as the hosts fought back with the ball.
Having won the toss and elected to bat, it was a swak batting display from South Africa again.
The innings was rescued yet by a brisk 86 from Quinton de Kock and 60 from opener Aiden Markram.
They were in early trouble at 15/3 as Fernando (3/62) removed Dean Elgar (6) and Hashim Amla (0) in consecutive deliveries, both bowled with balls that swung back into the stumps.
Temba Bavuma (0) was run out as the Proteas wobbled, before Markram and captain Faf du Plessis (25) took the score to 73 before the latter was bowled the last ball before lunch.
Markram and debutant allrounder Wiaan Mulder (9) were both trapped lbw by Rajitha (3-67), who then also grabbed the scalp of Keshav Maharaj (0), caught by wicketkeeper Niroshan Dickwella.
De Kock scored freely as he put on 59 for the eighth wicket with Rabada (22), before being bowled by spinner Dhananjaya de Silva (2/15) and South Africa’s innings folded soon after that.