Sri Lanka seamers Kasun Rajitha and Vishwa Fernando reduced South Africa to 185 for seven at tea on day one of the second and final test at St George’s Park on Thursday.
Fernando (2-45) did the initial damage to rock the South African top-order, before Rajitha (3-54) ripped out the middle-order to leave the hosts reeling in a test they must win to avoid a first ever home series loss to Asian opposition.
Quinton de Kock (68 not out) has led a fightback from the home team, and will resume after the interval with Kagiso Rabada (8 not out), who has been dropped twice. Having won the toss and elected to bat, it was a disappointing batting display from South Africa.
The visiting seamers, however, were in imperious form as they attacked the wickets, with five of their scalps either bowled or leg before wicket.
Left-handed opener Dean Elgar was the first man out as his horror run with the bat continued when he was bowled by an in-swinging delivery from Fernando for six, the fourth time in five test innings he has been out in single figures.
Fernando then removed Hashim Amla for a golden duck, this time swinging back into the right-hander and crashing into the stumps in a superb display of control.
South Africa’s miserable start got worse when Temba Bavuma was run out for a duck after being sent back by Aiden Markram, the second time in three innings that he has been out in that fashion.
The home side were dealt a massive blow on the stroke of lunch when captain Faf du Plessis (25) was bowled by part-timer Dimuth Karunaratne, the Sri Lanka captain producing a perfect yorker.
Markram (60) and debutant all-rounder Wiaan Mulder (9) were both trapped lbw by Rajitha, who then also grabbed the scalp of Keshav Maharaj (0), caught by wicketkeeper Niroshan Dickwella.
Sri Lanka won an epic first test by one wicket in Durban, a result that ensures South Africa’s streak of seven home series wins will come to an end.