Seamer Vernon Philander took career-best figures as rampant South Africa claimed a 72-run victory over India in a gripping first Test at Newlands.
Set 208 for victory, India were skittled for 135 in 42.4 overs in their second innings on a lively wicket with Philander the chief destroyer, recording figures of 6-42 for his first five-wicket haul in Tests since 2013.
India had looked to seize control of the Test when they bowled South Africa out for 130 in the morning session, but found the home attack on the seamer-friendly wicket too much of a challenge.
"I was nervous we did not have enough runs," South Africa captain Faf du Plessis said. "I knew the new ball would be key for us, if we could strike early we believed we could get through their batting line-up.
"But I came in this morning hoping to get a 350 lead and bowl at them tonight, so obviously that did not go to plan."
After day three had been a washout, 18 wickets fell in 64 overs on Monday, all going to seamers.
South Africa resumed on 2-65, but were only able to double their score before they lost their last eight wickets.
Mohammed Shami (3-28) and debutant Jasprit Bumrah (3-39) were the pick of the Indian bowlers and there were two wickets for Bhuvneshwar Kumar (2-33).
Only an attacking 35 from AB De Villiers stemmed the tide to a degree before he was the last man out.
South Africa weathered a first-wicket stand of 30 for India in reply, before the wickets began to fall at regular intervals.
Philander took three wickets in four balls following the tea break to seal victory after a seventh-wicket stand of 49 between top-scorer Ravichandran Ashwin (37) and Kumar (13 not out) had briefly sent jitters through the Newlands crowd.
"We were in the game for the three days and it was a wonderful match to be part of," Kohli said. "But we need to rectify our mistakes ... the mindset really matters when you travel away from home."