Vernon Philander and Kagiso Rabada plunged Sri Lanka into familiar trouble when they both took two wickets on the second day of the third and final Test against South Africa at the Wanderers Stadium on Friday.
Sri Lanka were 4-80 when bad light ended play for the day, still 346 runs behind South Africa's total of 426.
The first half of the day belonged largely to Sri Lanka, who have largely been outplayed in a series which they trail 2-0, as their bowlers claimed South Africa's seven remaining wickets for 88 runs.
Day one report: Amla notches ton in 100th Test
Nuwan Pradeep took four wickets in as many overs to finish with 4-78, while Lahiru Kumara took 4-107.
Hashim Amla, who resumed on 125 not out, could add only nine more runs off 44 balls before he was caught behind to become Pradeep's third victim.
Although Dimuth Karunaratne was caught behind off Vernon Philander without scoring off the fourth ball of their innings, Kaushal Silva and Kusal Mendis put on 47 for the second wicket and saw off the new ball.
But Rabada struck soon after tea when he produced a sharply-lifting delivery which Silva had to play at, edging a second catch to wicketkeeper Quinton de Kock.
Mendis made 41 before a vicious lifter from Rabada had him fending a catch to gully. Dhananjaya de Silva followed in the next over when he sliced a drive against Philander to backward point.
Philander took 2-17 and Rabada 2-26.
Although Pradeep was their most successful bowler, it was an impressive collective bowling performance by the Sri Lanka seamers in overcast conditions on a pitch which seemed to have more life than on the first day.
Quick Single: Shakib rinses Black Caps at the Basin
Suranga Lakmal bowled superbly from the start of play after South Africa resumed at 3-338, conceding just nine runs in seven overs, four of which came from overthrows, and having South African captain Faf du Plessis dropped by Mendis at second slip.
Angelo Mathews, who opened the bowling with Lakmal at start of play, sent down five overs for nine runs and dismissed nightwatchman Duanne Olivier.
Pradeep had a golden spell, dismissing Du Plessis, Temba Bavuma, Amla and Philander in the space of 24 deliveries.