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, South Africa, and win the two-match series 1-0.
The top-ranked nation achieved victory soon after tea on the final day to complete a highly satisfying result against their closest challengers in the world Test rankings.
It was also fitting farewell for South Africa all-rounder Jacques Kallis, who made a century in his final Test.
South Africa were 59 without loss in their second innings after India had been bowled out for 223 earlier in the day, failing to offer much resistance after being precariously placed at 68-2 overnight.
Only Ajinkya Rahane offered a bright spot for India, coming within four runs of his maiden Test century.
He was the last India wicket to fall, just after lunch, swinging wildly on 96 with only the last tailender Mohammed Shami left in support.
South Africa took just 11.4 overs to knock off the required runs, with Alviro Petersen 31 not out and Smith unbeaten on 27 after a six and a four from the final two balls of the game.
Spinner Robin Peterson emerged as the unlikely 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 No. 9 in South Africa’s first innings.
On his last day of Test cricket, Kallis 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, teammates and fans. Tough day.”
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.