SA have made three changes to the team that won the first test by an innings and 32 runs on a lively wicket in Pretoria.
Middle-order batter, Tristan Stubbs, makes his debut in place of injured regular captain, Temba Bavuma.
Spinner Keshav Maharaj earns his 50th cap in place of injured Gerald Coetzee, and seamer Lungi Ngidi comes into the team for Keegan Petersen as the hosts opt for an extra bowler. "It looks like an interesting wicket; there are a few snakes in it; hopefully it comes to the fore when we bowl," Elgar said. "It is a big hurdle for us and a big test; this is our marquee game for the season. We have to start well."
India captain, Rohit Sharma, admitted he would have batted first had he won the toss, as the visitors made two changes.
Left-arm spinner Ravindra Jadeja has recovered from back spasms and replaces Ravichandran Ashwin, while seamer Mukesh Kumar comes in to play his second test for Shardul Thakur. "There will be enough in the pitch for the seamers, so hopefully we can cash in on it," Rohit said. "It is important for us to forget what has happened in the past; it is about the present."
The match is a final in his 12-year test career for Elgar, who announced his retirement ahead of the series.
South Africa: Dean Elgar (captain), Aiden Markram, Tony de Zorzi, Tristan Stubbs, David Bedingham, Kyle Verreynne, Marco Jansen, Keshav Maharaj, Kagiso Rabada, Nandre Burger, Lungi Ngidi
India: Rohit Sharma (capt.), Yashasvi Jaiswal, Shubman Gill, Virat Kohli, Shreyas Iyer, KL Rahul, Ravindra Jadeja, Jasprit Bumrah, Mohammed Siraj, Prasidh Krishna, Mukesh Kumar.
--Reuters--