South Africa claimed three early wickets but missed what could prove to be two crucial chances on the first morning of the first Test against India in Centurion on Tuesday.
India were 91 for three at lunch after being put in to bat with Nandre Burger making an immediate impact on his Test debut, taking two for 23.
Virat Kohli (33 not out) and Shreyas Iyer (31 not out) put on an unbeaten 67 for the fourth wicket after the tourists had been left reeling at 24 for three.
Both could have been dismissed on four.
Iyer was dropped by Marco Jansen when he slashed Kagiso Rabada to backward point.
In the next over Kohli flicked Burger to midwicket and was put down by Tony de Zorzi.
South Africa had a further setback when captain Temba Bavuma left the field with what appeared to be a recurrence of the hamstring injury he suffered during the World Cup last month.
The start was delayed by 30 minutes because of damp patches on a pitch which had been covered for 40 hours before Tuesday morning because of rain.
Bavuma's decision to bowl first, on a ground where uneven bounce has been a factor in the later stages of previous matches, appeared to have paid off when three wickets fell in the first hour.
Indian captain Rohit Sharma was caught at long leg off Rabada for five.
Burger then struck twice, having Yashasvi Jaiswal and Shubman Gill caught behind for 17 and two respectively.