India lost seven wickets for 55 runs during the opening session on day three to be 327 all out in the first Test against South Africa here on Tuesday.
After day two was washed out, India resumed their innings at 272 for three.
K L Rahul (123) and Ajinkya Rahane (48) added one and eight respectively to their overnight scores with Lungi Ngidi and Kagiso Rabada running through India's middle and lower-order.
Jasprit Bumrah (14) and Mohammad Siraj (4) added 19 valuable runs for the 10th wicket in an otherwise disappointing batting performance by the Indians on day three.
The home team bowlers, who looked rusty on day one, extracted much more out of the surface at SuperSport Park.