South Africa lost three quick wickets for 10 runs after a century opening stand, but AB De Villiers, along with Jacques Kallis, ensured that there were no more hiccups on the third morning.
Shikhar Dhawan took a superb running catch at mid-wicket to dismiss Graeme Smith.
Jacques Kallis after reaching his half-century. (AFP)
It got overcast in the final session, forcing umpires Steve Davis and Rod Tucker to take a reading of the light. (AFP)
Ravindra Jadeja broke South Africa's 103-run opening stand by dismissing Graeme Smith for 47 to give India their first wicket and then went on to take three more in the day to keep India in the match.
AB De Villiers scored an impressive half-century but was dismissed for 74 by Ravindra Jadeja. He added 127 runs for the fourth wicket with Jacques Kallis. (AFP)
The Indian team and on-field umpires joined to give Jacques Kallis a guard of honour as he walked in to bat in his final Test.
Jacques Kallis scored his 59th Test fifty while batting in the first innings of his last Test. (Getty Images)