Mohammed Shami and Umesh Yadav wreaked havoc on the South African batting while following-on as the visitors collapsed for a second time on day three of the final Test.
South Africa were 132-8 at the close of play with India requiring two wickets to wrap up a series sweep over Faf du Plessis' men.
The Proteas' miserable day in the field was summed up by the wincing blow to Dean Elgar off the bowling of Yadav, which forced the left-handed batsman to withdraw from the Test.
Elgar was then replaced by Theunis de Bruyn under the new concussion substitute rules as he was one of the two not out batsmen resisting India's victory charge.
Elgar becomes the third batsman to be replaced according to this rule following concussion-related injuries to Steve Smith and Dwayne Bravo in the past few months.
The 32-year-old was felled by a sharp bouncer that jagged back and hit him flush on the helmet drawing the physio out onto the field.
Yadav and Shami shared five wickets between them in South Africa's second innings as Zubayr Hamza admitted the tourists were taken aback by the home team's fast bowlers.
"I would say, based on the general thought of playing in India, you'd assume that it would be tougher to play against the spinners," said Hamza, who top-scored with 62 in his side's first innings.
"I wouldn't say we under-prepared against the seamers. I will just say that maybe we should have prepared more mentally in terms of playing them in whatever conditions that we were faced."
South Africa could only manage 162 on the board in reply to India's colossal first-innings total of 497-9 declared.
The Proteas resumed batting at nine for two but soon lost skipper Faf du Plessis before Hamza and Temba Bavuma combined for a 91-run stand for the fourth wicket.
A middle-order collapse halted their progress and they eventually failed to avoid the follow-on by a wide margin.
For the second time in the series, India skipper Virat Kohli decided against building on the expansive lead and gave his bowlers a second go at prising out the South African batsmen.
The plan to utilise Quinton de Kock's aggressive batting by making him open the innings immediately backfired as Yadav drew the first blood leaving South Africa five for one in the second over.
Shami then had Hamza dismissed for nought before getting du Plessis and Bavuma out in quick succession.
The day was forced into a half-hour extension in the final session after Ravichandran Ashwin and Ravindra Jadeja claimed a wicket each.
Although India's bowlers could not snare the last two scalps, they are on their way to completing a historic Test series whitewash over South Africa.
30-year-old spinner Shahbaz Nadeem took two wickets in his debut outing in Test matches as he cherished his chance to play for the national side after playing first-class cricket for almost 15 years.
On a day of firsts, Hamza expressed disappointment over getting out twice in a day.
"But also disappointed in the same breath, not having gone on to make use of that opportunity. And the first time that I've been out twice in the same day, so it's been a tough day. Really disappointing for the side," he said.
India too suffered an injury blow as Wriddhiman Saha had to forgo wicketkeeping duties, which were then performed by Rishabh Pant.