India, chasing 266 for victory, were 142 for six when rain ended play in the 33rd over. The fifth and final game in Centurion will be played Sunday.
Earlier, JP Duminy rescued South Africa from a middle-order collapse to take them to 265 for seven at St George's Park.
Duminy's unbeaten 71 allowed the home team to recover from 118 for five after electing to bat first.
The left-hander had two able lower-order partners in Johan Botha (44) and Robin Peterson (31), sharing partnerships of 70 and 54 respectively for the sixth and seventh wickets.
Hashim Amla (64) set the early pace as he became the fastest batsman to score 2,000 runs in one-dayers. He needed just 40 innings to break the previous record of 45 shared by Pakistan's Zaheer Abbas and England's Kevin Pietersen.
Spinner Yuvraj Singh took three for 34 while Virat Kohli featured in two run-outs and claimed a superb catch at slip to remove Morne van Wyk for 15.
Paceman Lonwabo Tsotsobe then removed India openers Rohit Sharma (1) and Parthiv Patel (11) in his first spell to put South Africaon top.
Yuvraj also fell to spinner Botha for 12 as the visitors slumped to 49 for three.
Kohli, though, smashed 87 not out in 92 balls to keep India in the game.
He hit two sixes and seven fours but the regular flow of wickets at the other end meant he would have had a lot of work to do to carry his team to victory if rain had not intervened.
COMMENTS (1)
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ