India and South Africa will lock horns in a two-match Test series, starting at the Eden Gardens in Kolkata on Friday. So, before the start of the series, let's have a look at the batters with most runs in India vs South Africa Test series.
India and South Africa will lock horns in a two-match Test series, starting at the Eden Gardens in Kolkata on Friday. The Proteas last toured India for a Test series back in 2019, when the host blanked them 3-0.
Talking about recent form in Test cricket, India ushered in the Shubman Gill era with a 2-2 draw in England and a 2-0 sweep over the West Indies at home. Meanwhile, the Proteas levelled 1-1 in Pakistan last month to kick off the defense of the ICC World Test Championship crown. This series is vital for both sides as they look to move up in the ICC WTC standings.
So, before the start of the series, let's have a look at the batters with most runs in India vs South Africa Test series.
Also Read: Most Test Centuries in Cricket History
Most Runs in India vs South Africa Test Series
5. AB de Villiers | 1334 Runs

Former South African captain and 'Mr. 360 Degree' of cricket, AB de Villiers, completes this top-5 list. AB de scored 1,334 runs in 20 Test matches at an average of 39.23 against India, including 3 centuries and 6 half-centuries.
His best score was an unbeaten 217 runs, which he played in Ahmedabad in 2008. This remains one of the finest innings played on Indian soil by a visiting batsman. This was also his first double century in Test cricket. This innings was played at a time when India was a strong team at home and facing legendary spinners like Harbhajan Singh and Anil Kumble. Amla and de Villiers combined to put the Indian bowlers on the back foot, helping South Africa to an innings victory by scoring 494 runs in the first innings.
4. Virat Kohli | 1408 Runs

Virat Kohli has been one of India’s most consistent performers against South Africa in Test cricket, scoring 1,408 runs in 28 innings at an impressive average of 54.15, including 3 centuries and 5 fifties.
Kohli’s highest score of 254* against the proteas came in Pune (2019). He played this innings while captaining the Indian Test team. He completely demolished the opposition, leading India to over 600 runs and win the match by an innings. Kohli is the only Indian captain to have won a Test series 3-0 against South Africa. This happened in 2019 when India hosted South Africa. He's also the only Indian captain to have beaten South Africa in a Test series twice. Sachin Tendulkar did it first, followed by Sourav Ganguly in 2004.
3. Hashim Amla | 1528 Runs

Elegant and composed Hashim Amla is in third place when it comes to most runs in Tests between India and South Africa. He made 1528 runs at an average of 43.65 in 21 tests, including five centuries and seven fifties.
He had made his South Africa debut in 2004 against India in Kolkata and went on to score big against India both at home and in India, on pitches that helped spinners. His highest score of 253* came in South Africa’s huge innings and six runs in Nagpur in 2010. His knock included 22 fours and, along with Jacques Kallis’ 173, he helped South Africa post 558/6d. India managed 233 and 319 runs in response.
2. Jacques Kallis | 1734 Runs

Legendary South Africa all-rounder Jacques Kallis comes in at the second spot in this list. Kallis amassed 1734 runs at an average of 69.36 in 18 Tests, including seven centuries and five fifties.
Kallis’ highest score with the bat against India was 201*, which came in the first Test at Centurion in the 2010 series. India had made 136 runs in the first innings. South Africa made 620/4d with centuries by Kallis, Hashim Amla (140), and AB de Villiers (129*). Kallis starred with 201* with 15 fours and five sixes. He also took two wickets across two India innings and was Player of the Match as the Proteas won by an innings and 25 runs.
Also Read: Most Wickets in Test Cricket in 2025
1. Sachin Tendulkar | 1741 Runs

The record for most runs in India vs South Africa Test series is held by India's batting maestro Sachin Tendulkar. The legendary batter has 1741 runs in 45 innings at an average of 42.26 in 25 Tests, including seven centuries and five fifties.
Tendulkar’s brilliant 169 came in the second Test in Cape Town in the 1996 series. South Africa had made 529/7d, and in return, India was 58/5 when Tendulkar, the captain, got together with Mohammad Azharuddin to launch a scathing counterattack in a 222-run partnership. Tendulkar made 169 in 254 balls with 26 fours to his name. His knock was ended by a brilliant catch by Adam Bacher as India went on to lose by 282 runs.