Saharan was well supported by Sachin Das, and the two shared a 171-run partnership after the South Africans had begun their run defence in impressive fashion.
Defending a total of 244, the home side was quickest out of the blocks, and would have been confident of getting the job done after India found themselves 32/4 in just the 12th over of their run chase.
Saharan and Das had other ideas, though, and once they stabilised their innings, they went on to patiently build a partnership that would eventually see them over the line.
Das eventuallt fell for 96 off 95 balls, removed by the impressive Kwena Maphaka, who has turned head at this World Cup on home soil.
The team’s former skipper David Teeger took a simple catch at extra cover after pushed a Maphaka delivery just outside off stump.
The wicket gave the home side some confidence, and they were able to pick up three more wickets before the game was taken away from them in the penultimate over.
Maphaka was good with the ball, finishing with figures of 3/32. Tristan Luus was equally impressive, with figures of 3/37.
Earlier, Lhuan-dre Pretorius scored 76, while Richard Seletswane chipped in with 64 that saw South Africa get to their healthy total of 244/7.