Sri Lanka won the toss and chose to bat first against South Africa
Wanindu Hasaranga, the legspinning allrounder, will debut for Sri Lanka, as the visitors chose to bat first at Centurion. Lutho Sipamla, the 22-year-old fast bowler, also makes his Test debut for South Africa.
On match day, the pitch turned up less green than expected, which is perhaps what prompted captain Dimuth Karunaratne to make what is a highly unusual choice for a Sri Lanka captain in South Africa. With Hasaranga in the side, though, Sri Lanka have batting down to No. 8. His inclusion means there is no place in the side for left-arm spinner Lasith Embuldeniya.
Also missing for Sri Lanka is senior fast bowler Suranga Lakmal, who is unavailable due to a hamstring injury. He is replaced by right-arm seam bowler Kasun Rajitha, while Vishwa Fernando and Lahiru Kumara are also in the XI. Dasun Shanaka, the batting allrounder, provides another seam option.
South Africa also have a seam-bowling allrounder in their XI through Wiaan Mulder, who plays his second Test - his first having come in February 2019. He keeps Dwaine Pretorious out of the XI.
A niggle kept Glenton Stuurman out of the XI and opened the door for Sipamla, though Lungi Ngidi recovered from his minor injury to make the team.
This is Quinton de Kock's first Test as captain.
South Africa: 1 Aiden Markram, 2 Dean Elgar, 3 Rassie van der Dussen, 4 Faf du Plessis, 5 Temba Bavuma, 6 Quinton de Kock (capt, wk), 7 Wiaan Mulder, 8 Keshav Maharaj, 9 Anrich Nortje, 10 Lutho Sipamla, 11 Lungi Ngidi
Sri Lanka: 1 Dimuth Karunaratne (capt.), 2 Kusal Perera, 3 Kusal Mendis, 4 Dinesh Chandimal, 5 Dhananjaya de Silva, 6 Dasun Shanaka, 7 Niroshan Dickwella (capt.), 8 Wanindu Hasaranga, 9 Kasun Rajitha, 10 Vishwa Fernando, 11 Lahiru Kumara
Andrew Fidel Fernando is ESPNcricinfo's Sri Lanka correspondent. @afidelf