Sri Lanka won the toss and sent South Africa in to bat in the first Test at Kingsmead on Wednesday.
South Africa opted for a five-man bowling attack, adding left-arm spinner Keshav Maharaj to the four-pronged pace attack that dominated the last two Tests against Pakistan recently, with batsman Theunis de Bruyn making way for the extra bowler.
Dimuth Karunaratne, captaining Sri Lanka for the first time, said he believed conditions would help his bowlers at the start of the match.
"There is quite a bit of grass and a bit of moisture in the surface. We want to get the maximum out of it."
Sri Lanka included two new caps in batsman Oshada Fernando and left-arm spinner Lasith Embuldeniya.
"The four seamers are so much of an X-factor," said South African captain Faf du Plessis.
The match was due to start in hot, sunny conditions but rain was likely later in the day.
South Africa: Faf du Plessis (captain), Dean Elgar, Aiden Markram, Hashim Amla, Temba Bavuma, Quinton de Kock (wkt), Vernon Philander, Keshav Maharaj, Kagiso Rabada, Dale Steyn, Duanne Olivier.
Sri Lanka: Dimuth Karunaratne (captain), Kusal Perera, Kusal Mendis, Dhananjaya de Silva, Niroshan Dickwella (wkt), Oshada Fernando, Lahiru Thirimanne, Suranga Lakmal, Vishwa Fernando, Kasun Rajitha, Lasith Embuldeniya.
Umpires: Aleem Dar (PAK), Richard Kettleborough (ENG)
TV umpire: Ian Gould (ENG)
Match referee: Richie Richardson (WIN)