Paul Harris claimed three wickets as South Africa completed victory by an innings and six runs over India with a day to spare in the Nagpur Test.
India, following on, were bowled out for 319 on the fourth evening despite Sachin Tendulkar's century.
Left-arm spinner Harris (3-76) broke the back of the home side's middle order with the wickets of Murali Vijay, Tendulkar and MS Dhoni before tea.
And paceman Dale Steyn finished off proceedings in the evening session to record his fourth 10-wicket match haul in 37 Tests.
India resumed at 66-2 in their second innings at the start of the fourth day, needing a further 259 to make South Africa bat again.
Vijay and Tendulkar initially made good progress, extending their third-wicket alliance to 72 before Harris made his first intervention, the becalmed Vijay sweeping straight to Morne Morkel on the square-leg boundary to depart for 32.
Subramaniam Badrinath (6) also fell in the morning session, edging behind off Wayne Parnell to leave the hosts on 122-4.
Tendulkar went to his 46th Test hundred during a fifth-wicket stand of 70 either side of lunch with skipper Dhoni.
The Mumbai right-hander brought up the milestone from 177 balls, including 13 fours, but failed to add any more.
Attempting to sweep Harris from outside leg-stump, Tendulkar dragged the ball back onto the furniture via thigh pad and arm.
The spinner followed up with the scalp of Dhoni (25), caught at silly point off bat and pad to leave India at 209-6, still 50 behind overall.
The lower order went on the attack in the evening session in the hope of setting South Africa a small target, Wriddhiman Saha, Harbhajan Singh and Zaheer Khan all producing cameos.
Harbhajan (39) smashed six fours and a six before being undone by the second new ball, Parnell (2-58) trapping him lbw.
Steyn cleans up
Zaheer (33) also launched some lusty blows, twice clearing the rope, but went for one too many and top-edged an attempted pull at a short delivery from Jacques Kallis (1-19) to mid-off.
The stage was set for Steyn (3-57), who had routed India for 233 in the first innings with seven wickets, to perform the last rites.
He had Saha (36) lbw and bowled Amit Mishra (0) in consecutive overs to finish with match figures of 10-108.
It was not enough, however, to earn him the man-of-the-match award - that honour went to Hashim Amla for his 253 not out in South Africa's first innings of 558-6 declared.
The two-match series concludes at Eden Gardens, Kolkata from February 14-18 where a draw would be enough for South Africa to reclaim the top spot in the International Cricket Council 's Test rankings from India.