India are set to face South Africa in the World Cup on November 5 in Kolkata.
Sachin Tendulkar has scored the most runs against the Proteas in ODIs.
The Master Blaster aggregated 2001 runs in 57 face-offs.
Virat Kohli is second on the list with 1403 runs in 30 matches.
In 39 ODIs against South Africa, ex-skipper Sourav Ganguly scored 1313 runs.
Rahul Dravid accumulated 1309 runs in 36 matches.
Mohammad Azharuddin played against South Africa in 33 ODIs and scored 1109 runs.
With 992 runs, Shikhar Dhawan is next on the chart.
World Cup-winning captain MS Dhoni scored 830 runs in 37 games.
Rohit Sharma has 766 runs in 25 ODIs against South Africa.