2. AB de Villiers – 399 Matches, 18,846 Runs, Avg: 48.19
Arguably, the greatest ODI batsman of all-time, the greatest batsman and match-winner for South Africa, players like AB de Villiers come once in a lifetime. De Villiers is a box-office cricketer. Generally his brilliance in Tests gets downplayed by his towering prowess in ODIs. But he is as good in red-ball cricket as well. AB has played 106 Tests, hammering 8,074 runs at 50.46 with 21 centuries. The 33-year-old has double-centuries in India and UAE respectively, hundred at Perth in Africa’s record chase, and a big century in UK as well.
The Proteas ODI skipper averages a whopping 53.55 with strike-rate of 100.25 after playing 222 ODIs and scoring 9,319 runs. The fact that he started his ODI career way back in 2004 and still has such numbers, which a player starting in 2010s is likely to have, speaks volumes about him. ABD has largely underperformed in T20Is, and has 1,603 runs at 25.85 with Strike-rate of 134.14.