Kallis made his test debut on this day against England in Durban in 1995 and his decision to end it at this ground 166 matches later will make it an emotional occasion for the entire team.
"It's been an emotional few days, we hope that he gets celebrated in the next five days and we can really put in the performance that is fitting for the man who has done so much for South African cricket," South Africa captain Graeme Smith said at the toss.
Fast bowler Morne Morkel has made what Smith describes as a miraculous recovery from an ankle ligament strain which saw him bowl just two overs in India's second innings in the first test in Johannesburg that finished on Sunday.
"Morne is fit, it is a miracle really. I honestly didn't think he would have a chance. He has come through extremely ready well," Smith said, before admitting he too would have batted first.
Robin Peterson replaced Imran Tahir as South Africa's main spinning option.
India made once change, dropping spinner Ravichandran Ashwin and replacing him with slow left-arm bowler Ravindra Jadeja, whose 27 test wickets have come at an average of 19.
"The wicket looks good, slightly on the dry side, but it will have pace and bounce for the fast bowlers," India skipper Mahendra Singh Dhoni said.
South Africa: Graeme Smith (captain), Alviro Petersen, Hashim Amla, Jacques Kallis, AB de Villiers, Faf du Plessis, JP Duminy, Robin Peterson, Vernon Philander, Dale Steyn, Morne Morkel.
India: Shikhar Dhawan, Murali Vijay, Cheteshwar Pujara, Virat Kohli, Rohit Sharma, Ajinkya Rahane, MS Dhoni (captain), Ravindra Jadeja, Zaheer Khan, Mohammed Shami, Ishant Sharma.