The Proteas will chase 288 for a series victory in the second ODI after they lost the toss and were asked to bowl on a scorching hot Friday in Paarl.
1-0 up in the three-match contest having won the opening fixture by 31 runs at the same venue on Wednesday, Temba Bavuma and his charges will have to bat very well to get over the line at Boland Park.
LIVE | Proteas v India - 2nd ODI
India finished on 287/6, but when Rishabh Pant (85 off 71) and skipper KL Rahul (55 off 79) had combined for a 115-run stand for the third wicket, it looked as if things could get much worse for the hosts.
Sisanda Magala (1/64 in 8) coming in for Marco Jansen was the only change for the Proteas, while India backed the same 11, and the 31-year-old endured a tough start to his ODI career when he took the new ball and was carved for 29 runs in his first three overs as Shikhar Dhawan (29 off 38) and skipper Rahul were off to a brisk start.
It was Aiden Markram (1/34 in 8) again who got the hosts going when he had a swinging Dhawan caught by Magala at deep midwicket, and at that point India were 63/1 after 11.4 having built a solid foundation.
Virat Kohli (0 off 5) was in and out, driving a routine Keshav Maharaj (1/52 in 9) delivery to Bavuma at cover, but just as the Proteas were building some momentum they were met by another stunning Pant knock.
The Indian wicketkeeper, batting at No 4, hit the Proteas to all parts and was full value for his knock. His 115 (111)-run partnership with Rahul was potentially devastating to South Africa, and when the latter became Magala's first ODI wicket after flicking one on his pads to Rassie van der Dussen at short midwicket, the Proteas had a much-needed breakthrough.
Pant followed in the very next over when he picked out Markram at long-on off Tabraiz Shamsi (2/57 in 9), and in the space of a few minutes the Proteas had gone from a position where a monstrous total had seemed likely to one where they were very much back in the game.
Wickets at regular intervals were the key, and the Proteas had two more with Shamsi claiming that of Shreyas Iyer (11 off 14) before Quinton de Kock pulled off another superb leg-side stumping off Andile Phehlukwayo (1/44 in 8) to remove Venkatesh Iyer (22 off 33).
There was another crucial partnership from allrounder Shardul Thakur (40* off 38) and Ravichandran Ashwin (25* off 24) to finish, but given the position of dominance India were in when Pant and Rahul were together, the Proteas will likely be pleased with their efforts at damage control.
The attention will now shift to whether or not the Proteas can repeat their batting heroics of two days ago.
Scores in brief:
India 287/6 (Pant 85, Rahul 55, Shamsi 2/57)
South Africa need 288 to win