India collapsed to 131 in their second innings to lose the first Test against South Africa by an innings and 32 runs here on Thursday.
Virat Kohli top-scored for India with 76 and was last out as the South African pacers ran riot.
India were struggling at 62 for three at tea after dismissing South Africa for 408 on day 3 of the Test.
Earlier, South Africa added 152 runs to their overnight score of 256 for 5 to take their overall lead to 163 runs.
Marco Jansen was unbeaten on 84, while opener Dean Elgar (185), Gerald Coetzee (19), Kagiso Rabada (1), Nandre Burger (0) and Temba Bavuma (0) were the batters dismissed on Thursday.
Resuming the day on 256-5, Elgar looked to drive home South Africa's advantageous position. The key was seeing off Jasprit Bumrah and Mohammed Siraj in their opening spells, which Elgar and Jansen managed to do with relative ease.
The duo added 67 runs in the first hour as the Indian pacers leaked runs with the sun coming out on day three.
Elgar crossed the 150-run mark off 228 balls, adding 50 off 102 balls with Jansen. The latter scored seven boundaries to reach his second test half-century off 70 balls.
Their 100-run partnership came off 169 balls as South Africa's lead crossed 100 in the extended morning session.
India took the new ball when it became available, but there wasn't much coming from its pacers.
Ravichandran Ashwin was handed the new ball, surprisingly, but the fielders didn't back him up. There were two chances spilled off his bowling in the second hour's play.
The breakthrough finally came as Elgar gloved one down leg side off Shardul Thakur in the 95th over.
Elgar faced 287 runs and hit 28 fours in his knock.
Ashwin also managed to pick a wicket going into the lunch break, with Gerald Coetzee chipping to mid-off for 19 runs.
On day one, Rabada's 5-59 had pegged India back before Lokesh Rahul's eighth test hundred propped them back. Elgar's hundred on day two put South Africa ahead in the match.