Indian offspinner Ravichandran Ashwin has picked up two quick wickets after early strikes from the fast bowlers, as South Africa crumble in their second innings in the second Test in Pune and head towards a series defeat.
South Africa reached 4-74 at lunch on Sunday's fourth day after India enforced the follow-on at the start of play, having taken a first-innings lead of 326 runs.
Temba Bavuma was unbeaten on two with Quinton de Kock one not out for the Proteas, who need another 252 runs to make India bat again and avoid an innings defeat.
A victory would give India an unassailable 2-0 lead in the three-match series and their fourth-straight win in as many Tests in the World Championship.
Replying to India's first-innings total of 5(dec)-601, the tourists were all out for 275 at the end of day thre and home captain Virat Kohli decided to put them in again.
The fast bowlers responded to their captain's call with an inspired spell when they swung the new ball prodigiously with South Africa's batsmen looking at sea.
Needing to bat the better part of two days to have any hopes of a draw, the Proteas made a horror start to their second innings when opener Aiden Markram fell again for a duck.
His dismissal was identical to his first-up failure, falling lbw to the second ball he faced from Ishant Sharma.
Markram did not get much help from his opening partner Dean Elgar as he pondered on reviewing the umpire's decision and replays later confirmed he would have overturned it.
No.3 Theunis de Bruyn survived twice before he had opened his account with a missed run-out chance and Kohli dropping him at slip, But the batsman could not make the most of his good fortune.
Indian wicketkeeper Wriddhiman Saha, who had dropped behind Rishabh Pant after an injury-forced absence, showed why Kohli regarded him as the world's best glovesman. He flung to his left to hold a one-handed catch to send back de Bruyn for eight off Umesh Yadav.
Elgar and Faf du Plessis, who made five, combined to hold off India's march with a 49-run stand for the third wicket before the South African skipper was out to Ashwin with Saha holding onto a juggling catch.
Ashwin struck again in his next over when Elgar miscued a lofted shot to be caught at mid off for 48.