Seamer Vernon Philander took career-best figures as rampant South Africa claimed a 72-run victory over India on a gripping fourth day of the first test in Cape Town.
Set 208 for victory, India were skittled out for 135 in 42.4 overs in their second innings on a lively wicket with Philander the chief destroyer, recording figures of 6-42.
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 told reporters. "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 65 for two, 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.
Only an attacking 35 from AB De Villiers stemmed the tide to a degree before he was the last man out.
South Africa, without injured seamer Dale Steyn who will miss the rest of the series with a heel problem, weathered a first-wicket stand of 30 for India in reply.
Shikhar Dhawan (16) was out first as he sparred a rising deliver from Morne Morkel (2-39) to gully.
Philander picked up his first wicket as fellow opener Murali Vijay (13) edged to third slip.
Cheteshwar Pujara (four) became Morkel's second victim with the score on 39, before Indian captain Virat Kohli (28) took the attack to the South Africans.
He was undone playing across a straight delivery from Philander.
Rohit Sharma (10) was bowled off the inside edge by Philander before the tourists' first-innings hero Hardik Pandya edged Kagiso Rabada to De Villiers in the slips.
Rabada claimed the wicket of Wriddhiman Saha (eight) with the last ball before tea.
Philander then took three wickets in four balls to seal victory after a seventh-wicket stand of 49 between top-scorer Ravichandran Ashwin (37) and Bhuvneshwar 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."
South Africa are hosting India in a three-test series this month, with matches to come in Pretoria, starting on Sunday and Johannesburg.