PORT ELIZABETH, South Africa Dec 26 South Africa captain Faf du Plessis won the toss on Monday and elected to bat in the first test against Sri Lanka at St George's Park in Port Elizabeth.
The home side have one change from the team that lost the last test of a winning series in Australia last month with Keshav Maharaj replacing Tabraiz Shamsi in the specialist spinner's role.
Morne Morkel, Dale Steyn and AB de Villiers, who has ceded the captaincy to Du Plessis, miss out because of injury.
Sri Lanka welcome back captain Angelo Matthews and his deputy Dinesh Chandinal after they missed the recent series in Zimbabwe, where Sri Lanka won both tests.
Also returning from injury are seamers Dushmantha Chameera, who has not played a test since suffering a lower back stress fracture on tour in England in May, and Nuwan Pradeep, who pulled a hamstring in the win over Australia in the first test in July.
South Africa begin the series as favourites after winning eight of 10 previous home tests against Sri Lanka, but the islanders have won their last five tests against Australia and Zimbabwe and have said they are confident their young team will prove competitive.
The surface at St George's Park had plenty of grass on it but was expected to dry out quickly and offer Sri Lanka some turn, more than they will find at Newlands in Cape Town and the Wanderers in Johannesburg in the next two tests.
South Africa: Faf du Plessis (captain), Stephen Cook, Dean Elgar, Hashim Amla, JP Duminy, Temba Bavuma, Quinton de Kock (wicketkeeper), Vernon Philander, Keshav Maharaj, Kyle Abbott, Kagiso Rabada.
Sri Lanka: Angelo Mathews (captain), Kaushal Silva, Dimuth Karunaratne, Kusal Perera, Kusal Mendis, Dinesh Chandimal (wicketkeeper), Dhananjaya de Silva, Rangana Herath, Dushmantha Chameera, Suranga Lakmal, Nuwan Pradeep. (Reporting by Mark Gleeson; Editing by Amlan Chakraborty)