South Africa's Marchant de Lange took 4 for 60 on debut as Sri Lanka lost two late wickets to go to stumps on 289 for 7 on day one of the second Test in Durban.
The 21-year-old fast bowler, who was a late call-up for injured newcomer Vernon Philander, had Thisara Perera caught at short leg for his fourth wicket to end the day's play. Morne Morkel (2 for 55) supported De Lange well and removed Sri Lanka's own debutant, Dinesh Chandimal, for 58 in an important breakthrough eight overs from the close, ending a 111-run stand with Thilan Samaraweera, who was 86 not out.
Samaraweera and Chandimal had lifted Sri Lanka from 162 for 5 after early wickets from the impressive De Lange, but South Africa's two late strikes slowed the tourists' momentum on a good batting pitch in Durban.
Meanwhile, Pakistan's left-arm paceman Wahab Riaz has been recalled to the Test squad for the series against England. Wahab had been included in the squad for the Sri Lanka series in October but was sent home after an undercover reporter said in the spot-fixing trial at Southwark Crown Court that agent Mazhar Majeed had told him he had several cricketers working for him and mentioned Wahab's name.