The case for Rahul being included in the first Test itself looked justified, given that the 25-year-old was in good touch, barring the last Test match he played in Nagpur. With both Dhawan and Vijay not doing themselves any favours, especially the former for having been sloppy in the field too, the team management can be expected to take some stern decisions.
To be fair to Rahane, he's a classic Test match cricketer who deserves a place in the eleven, especially with India playing overseas when he averages close to 55. The only way India can include Rahane in the eleven is if they decide to drop R Ashwin, a decision that's unlikely at Centurion.
Playing 11 for India
Virat Kohli (c), KL Rahul, Murali Vijay, Cheteshwar Pujara, Ajinkya Rahane, Wriddhiman Saha (wk), Hardik Pandya, R Ashwin, Bhuvneshwar Kumar, Umesh Yadav, Mohammed Shami
Playing 11 for RSA (No Change)
Dean Elgar, Aiden Markram, Hashim Amla, AB de Villiers, Faf du Plessis (c), Quinton de Kock, Vernon Philander, Keshav Maharaj, Dale Steyn, Kagiso Rabada, Morne Morkel