Dean Elgar made a magnificent unbeaten half-century as South Africa levelled the Test series at 1-1 with a historic seven-wicket win over India on a rain-affected day four at the Wanderers.
The Proteas reached their victory target of 240 after a long rain delay to set up a decider at Newlands, captain Elgar leading the way with a brilliant 96 not out.
India only claimed one wicket after play got under way following an early tea break in Johannesburg on Thursday, Mohammed Shami sending Rassie van der Dussen on his way for 40
Temba Bavuma (23*) provided further support for the obdurate Elgar, who showed great temperament and technique to guide his side to a first Test win over India at this venue.
Elgar and Van der Dussen were finally able to head out to the middle for a 3.45pm start local time with South Africa 118-2, needing a further 122 runs for victory.
The tenacious skipper brought up his half-century by driving Ravichandran Ashwin wide of mid-on for a boundary before Shami ended a stand of 82, Cheteshwar Pujara taking the catch at first slip after the seamer drew an edge from Van der Dussen.
Bavuma was given a lifeline before he had got off the mark when Shardul Thakur failed to take a sharp chance off his own bowling.
The battling Elgar dispatched Shami for back-to-back boundaries and the runs flowed for an in-form Bavuma as India's hopes of wrapping up the series deteriorated rapidly.
Words were exchanged in the middle as the game slipped away from India and Elgar flicked Ashwin for his 10th boundary before punching the air as South Africa celebrated a huge win.
Inspirational Elgar produces a captain's knock
South Africa suffered their first Test loss to India at SuperSport Park in the first match of the series and were then rocked by Quinton de Kock's shock retirement from Test cricket.
Elgar issued a rallying cry after that loss in Centurion and he vowed to take as many blows as required from the India bowlers in order to keep the Proteas in the series.
The gritty left-hander stepped up under huge pressure after such a long time in the pavilion on day four, grinding out a 19th Test half-century to make it all to play for in Cape Town next week.
India toil as Proteas pull off record run chase
The tourists must have fancied their chances of securing a first Test series win in South Africa when play got under way in what looked like bowler-friendly conditions.
India were unfortunate that Mohammed Siraj could only bowl six overs in the second innings due to a hamstring injury, but a lack of potency with the ball must have been a concern for Virat Kohli as he watched on after being ruled out with a back spasm.
South Africa comfortably completed their highest successful run chase in a Test at the Wanderers and the third-best by any team, beating India for the first time in the longest format at this ground at the sixth attempt.