The visitors have taken an overall lead of 70 runs. India lost openers Mayank Agarwal and KL Rahul early but Virat Kohli on 14 runs and Cheteshwar Pujara on 9 runs were on the crease at the end of the play yesterday.
Earlier, India bowled out South Africa for 210 in the first innings. Jasprit Bumrah took five wickets while Umesh Yadav and Mohammed Shami bagged two wickets.
Keegan Petersen was the top-scorer posting 72 runs for the Hosts. In the first innings, India posted a total of 223 with skipper Virat Kohli scoring 79 runs.
The three-match Test series is evenly-poised with both teams winning a Test match each.