India opener Murali Vijay battled to 75 but got limited support as Dean Elgar took four for 22 with his left-arm spin, helping bring India’s innings to a close in the second over after tea.
South Africa’s reply got off to a poor start as they fell to nine for two with the early losses of Stiaan van Zyl and Faf du Plessis before reaching 28 for two at the close.
The pitch had looked a decent batting surface but India quickly ran into trouble as opener Shikhar Darwan went for a duck as he edged into the slips.
Cheteshwar Pujara helped Vijay take the score on to 65 before he was trapped lbw for 31 by Elgar, and captain Virat Kohli was sent back for just one as he was caught by Elgar off Kagiso Rabada.
Elgar then removed Ajinkya Rahane for 15 and Wriddhiman Saha for a duck as India slipped to 102 for five.
Ravindra Jadeja provided some resistance, sticking around after Vijay went lbw to Simon Harmer, but once he fell for 38, lbw to Vernon Philander, South Africa quickly finished the job.
However, their hopes of capitalising with a big score of their own took an immediate hit as opener Van Zyk misjudged a ball from Ravichandran Ashwin and went lbw.Du Plessis faced only four balls before he got it all wrong against Jadeja, coming forward to cover the spin but hearing the ball catch the top of his stumps.
Elgar made it through to the finish unscathed on a patient 13 while Hashim Amla added nine, but it was hard to say who had had the better day at the close.