Cape Town - Sri Lanka's Suranga Lakmal struck a double blow in the session between lunch and tea against the Proteas at St George's Park in Port Elizabeth on Monday.
LIVE: SA V SRI LANKA, DAY 1
Lakmal dismissed both SA openers - Stephen Cook and Dean Elgar - in similiar fashion, caught behind by wicketkeeper Dinesh Chandimal, for 59 and 45, respectively.
Cook and Elgar had seen the Proteas to 92/0 at lunch.
At tea, South Africa had moved their total to 174/2 after 57 overs.
The men at the crease were Hashim Amla (18*) and JP Duminy (46*).
Earlier, Proteas captain Faf du Plessis had won the toss and elected to bat.
South Africa opted for consistency in their line-up with their only change coming in the spinning department, where Keshav Maharaj replaced Tabraiz Shamsi from the side that played in the third Test against Australia last month.
Stephen Cook, Dean Elgar, Hashim Amla, JP Duminy, Faf du Plessis (captain), Temba Bavuma, Quinton de Kock, Keshav Maharaj, Vernon Philander, Kagiso Rabada, Kyle Abbott
Kaushal Silva, Dimuth Karunaratne, Kusal Mendis, Angelo Mathews (captain), Dinesh Chandimal, Dhananjaya de Silva, K Perera, Rangana Herath, Dushmantha Chameera, Suranga Lakmal, Nuwan Pradeep