Captain Graeme Smith scored the winning runs as South Africa knocked off a modest 58-run target to beat India by 10 wickets in the second Test at Kingsmead in Durban and win the two-match series 1-0.
The top-ranked nation achieved victory soon after tea on the last day to complete a highly satisfying result against their closest challengers in the world Test rankings.
It was also a fitting farewell for South Africa all-rounder Jacques Kallis, who scored a century in his final Test.
South Africa were 59 without loss in their second innings after India were bowled out for 223 earlier in the day, failing to offer much resistance after being precariously placed at 68 for 2 overnight.
Ajinkya Rahane was the only bright spot for the Indians, coming within four runs of his maiden Test century.
He was the last Indian wicket to fall, just after lunch on Monday, swinging wildly on 96 with only the last tail-ender Mohammed Shami left in support.
South Africa took just 11.4 overs to score the required runs, with Alviro Petersen 31 not out and Smith unbeaten on 27 after a six and a four from the last two balls of the game.
Spinner Robin Peterson emerged the unlikely match hero, overshadowing his fast bowling colleagues with a four-wicket haul in India's second innings to add to the brisk 61 runs he scored on Sunday, batting at number nine in South Africa's first innings.
On his last day in Test cricket, Kallis, regarded as South Africa's finest cricketer, was not troubled in the slips and did not bat in the second innings.
"Last day of Test cricket for me," he tweeted before play.
"I have so many wonderful memories and stories, thanks to my family, friends, team mates and fans. Tough day."
But there was more of a clinical edge than heavy emotion on Monday as South Africa went about their task with business-like efficiency to emphasis their status as the top-ranked Test team.
The win ended a run of four successive Test defeats in Durban for the hosts, who last weekend came desperately close to a world record fourth-innings chase before settling for a draw in the first Test in Johannesburg.