PORT ELIZABETH, South Africa: Fast bowler Kagiso Rabada took four wickets as South Africa raced through Sri Lanka's batting line-up to bowl the tourists out for 154 on the second morning of the second and final test at St George's Park on Friday.
Sri Lanka came out guns blazing from their overnight 60 for three, but the home side kept chipping away at the wickets column with spinner Lasith Embuldeniya unable to bat, or take any further part in the test, with a broken thumb.
South Africa reached 10 for one at lunch in their second innings, with Dean Elgar continuing his wretched form, out for two on the last ball before the interval to seamer Vishwa Fernando.
The home side have an overall lead of 78 as the match continues to move at pace with just four sessions completed.
Sri Lanka clearly had a plan to attack the home bowlers and scored 94 runs in 17.4 overs, but could not stem the fall of wickets.
Opener Lahiru Thirimanne (29) provided a caught and bowled chance for Duane Olivier, who took three for 61, before Rabada removed nightwatchman Kasun Rajitha.
Kusal Perera, the centurion hero from the first test in Durban, continued where he left off by racing to 20 from 15 balls before he edged Rabada to wicketkeeper Quinton de Kock.
The home side made light work of the lower order, though Niroshan Dickwella (42) mounted a spirited fightback before he was the last man out, a fine running catch from Elgar off Rabada, who finished with four for 38.
There was also a first test wicket for debutant all-rounder Wiaan Mulder, who had Dhananjaya de Silva (19) caught.
Sri Lanka won an epic first test by one wicket in Durban, a result that ensured South Africa's streak of seven home series wins will come to an end.
If they avoid defeat in Durban, the touring side will become the first side from Asia to win a test series in South Africa.
(Reporting By Nick Said; editing by Sudipto Ganguly)