South Africa, who are under pressure after losing the Joburg Test, were without the injured Jacques Kallis and Dale Steyn.
Steyn failed a fitness test on his thigh but Kallis was a surprise omission after feeling shooting pain in his spine in the morning.
Andrew Hall and debutant Morne Morkel replaced them in the line-up for the hosts, who are 1-0 down in the series.
India are unchanged from the side that won the opening Test in Johannesburg.
South Africa: Graeme Smith (capt), Andrew Hall, AB de Villiers, Herschelle Gibbs, Hashim Amla, Ashwell Prince, Mark Boucher (wk), Shaun Pollock, Morne Morkel, Andre Nel and Makhaya Ntini
India: Wasim Jaffer, Virender Sehwag, Rahul Dravid (capt), Sachin Tendulkar, VVS Laxman, Sourav Ganguly, Mahendra Dhoni (wk), Anil Kumble, Zaheer Khan, S Sreesanth and Vikram Singh
Umpires: Asad Rauf (Pak) and Mark Benson (Eng)
Match Referee: Roshan Mahanama (SL)