Sri Lanka’s bowlers fought back on Friday, reducing South Africa to 91 for five in their second innings at tea on the second day of the second Test.
South Africa had an overall lead of 159 after bowling out the tourists for 154 in their first innings at St George’s Park.
In the morning, Sri Lanka collapsed in a flurry of strokes to give South Africa a first innings lead of 68 runs.
But the visiting bowlers then retaliated with Kasun Rajitha taking two for 20 and Vishwa Fernando, Dhananjaya de Silva and Suranga Lakmal taking one wicket each.
In a frenetic start to the day, Sri Lanka scored 94 runs but lost six wickets in 17.4 overs.
Overnight batsmen Lahiru Thirimanne and nightwatchman Kasun Rajitha were dismissed in the first four overs of the morning after Sri Lanka resumed on 60 for three. They were followed by a succession of batsmen who played extravagant shots before perishing.
Kusal Perera, the hero of Sri Lanka’s surprise win in the first Test in Durban, thrashed two fours and an audacious six over extra cover in one over from Rabada before being caught behind in the fast bowler’s next over. He made 20 off 15 balls.
De Silva struck four fours in making 19 off 24 balls and Niroshan Dickwella hit six fours and a six before he was last man out for 42 off 36 deliveries.
Lasith Embuldeniya did not bat after undergoing surgery on Thursday night after badly dislocating his left thumb in trying to take a return catch off Rabada during South Africa’s first innings. He was expected to be out of action for up to six weeks.
When South Africa batted, opener batsman Dean Elgar was out cheaply for the third time in the series to Vishwa Fernando before lunch. A steady stream of wickets fell during the afternoon, culminating in the dismissal of Hashim Amla for 32 and in-form Quinton de Kock for one in the last two overs before tea.
South African captain Faf du Plessis was unbeaten on 31 at the interval.