Lutho Sipamla will make his Test debut for the Proteas against Sri Lanka, while the visitors will bat first after Dimuth Karunaratne won the toss in Centurion.
Wiaan Mulder is also back in the team and will make his second appearance for the Proteas in the longer format with Aiden Markram to open the batting alongside Dean Elgar.
Glenton Stuurman misses out on selection after he suffered from a small niggle in the lead up to the match with Beuran Hendricks unavailable after he tested positive for Covid-19 last week and was subsequently withdrawn from the squad earlier this week.
As indicated earlier this week, captain Quinton de Kock will bat at No 5 for the Proteas with Rassie van der Dussen and Faf du Plessis ahead of him, while Temba Bavuma will come in at six.
Keshav Maharaj, Anrich Nortje and Lungi Ngidi complete the Proteas attack.
Proteas: Aiden Markram, Dean Elgar, Rassie van der Dussen, Faf du Plessis, Quinton de Kock (c) (wk), Temba Bavuma, Wiaan Mulder, Keshav Maharaj, Anrich Nortje, Lungi Ngidi, Lutho Sipamla.
Sri Lanka: Dimuth Karunaratne (C) KJ Perara, Kusal Mendis, Dinesh Chandimal, Dhananjaya de silva, Niroshan Dickwella (wk), Dasun Shanaka, Wanindu Hasaranga, Vishwa Fernando, Kasun Rajitha, Lahiru Kumara.