South Africa's fast bowlers, led by Vernon Philander, blasted through India's batting as the host nation gained a 72-run win on the fourth day of the first Test at Newlands on Monday.
Set 208 to win the first of three matches between the world's two leading Test teams, number one-ranked India were bowled out for 135 by their nearest challengers.
Philander took six for 42 with Morne Morkel and Kagiso Rabada claiming two wickets each as India were subjected to a pace barrage in bowler-friendly conditions.
South Africa were reduced to three fast bowlers because of a heel injury suffered by Dale Steyn while bowling on Saturday.
Earlier, it had been the Indian bowlers who held sway when South Africa were bowled out for 130 in their second innings, losing their last eight wickets for 65 runs.
India's run chase started promisingly with Murali Vijay and Shikhar Dhawan putting on 30 for the first wicket, although Vijay was reprieved on review twice after being given out against Philander, for leg before wicket and a catch behind the wicket.
But then Dhawan was caught at gully off his bat handle when he got into a tangle against a lifting ball from Morkel. Six balls later it was third time lucky for Philander as Vijay edged a catch to AB de Villiers at third slip.
Philander claimed the key wicket of Indian captain Virat Kohli, who had looked confident in scoring 28 before he was trapped leg before wicket.
Philander struck again when Rohit Sharma was bowled off an inside edge and Rabada dismissed first innings top scorer Hardik Pandya for one, caught by a diving De Villiers at third slip.
Rabada trapped Wriddhiman Saha leg before with the last ball before tea to leave India in a desperate situation in a match which hastened to a conclusion despite the loss of the third day because of rain.
Ravichandran Ashwin and Bhuvneshwar Kumar put on 49 for the eighth wicket before Philander took the last three wickets in the space of four balls.
Mohammed Shami and Jasprit Bumrah were the main destroyers of the South African batting, taking three wickets each.
Shami started the collapse, dismissing Hashim Amla with the ninth ball of the morning and taking three wickets for 28 runs.
Bumrah took three for 39, including the wicket of South African captain Faf du Plessis, who fell to an unplayable delivery which lifted sharply off a good length and flicked a glove.
Despite being ruled out of the rest of the series, Steyn, who arrived at the ground on crutches, limped to the wicket as the last batsman in an effort to keep company with De Villiers, who top-scored with 35.
He managed to defend four balls from Kumar but De Villiers was caught off Bumrah in the next over by Kumar, one of eight fielders stationed on the boundary.
Wicketkeeper Saha set an Indian record by taking ten catches in the match, five in each innings.
After being under covers for two nights and a day, the pitch offered plenty of seam movement and occasional steep bounce.