Smith (62 not out) played some sumptuous drives down the ground for four, but the Indian bowlers were also able to find the edge of his bat on a number of occasions, most notably when he was dropped at first slip by Ravichandran Ashwin of Zaheer Khan when he had 19.
The South African captain punished that generosity and along with Hashim Amla (30 not out) added 81 runs for the second wicket after the loss of Alviro Petersen (21) with the score on 37.
Petersen was trapped leg before wicket by Ishant Sharma, who was the pick of the Indian bowlers, deriving both movement and bounce out of the pitch.
South Africa will feel marginally ahead in the game after an excellent bowling performance in the morning curtailed the Indian first innings.
Seamer Vernon Philander moved to 99 test wickets with the hosts removing the last five Indian batsmen for 16 runs to bowl the tourists out for 280.
Philander found movement both ways to end with four for 61.
Morne Morkel (three for 34) started the rot when he had India captain Mahendra Singh Dhoni (19) pushing forward to a full length delivery and edging behind to wicketkeeper AB de Villiers.
In the following over, and without a run being added, Ajinkya Rahane (47) was enticed into an edge outside his off stump by a delivery from Philander that shaped away from the batsman.
Philander then trapped Zaheer Khan leg before wicket with his very next delivery with the Indian left-arm seamer caught plumb in front.
Philander picked up Ishant Sharma (zero) as his fourth victim with an in-swinger that clipped the top of off-stump. Morkel denied Philander his five-wicket haul and 100th test scalp when he bowled Mohammed Shami (zero) to wrap up the innings.
(Reporting by Nick Said; editing by Justin Palmer)
