CSE
Toss Index1,263.3 −2.50%Match Index1,723.8 −1.25%Twenty20 International · CSXM9 ENG vs IND −1.25%M8 ENG vs IND +5.00%M7 FIN vs POR +5.00%M6 FIN vs POR +0.00%M5 FIN vs POR +5.00%M4 SWE vs POR +5.00%M3 ENG vs IND +0.00%M2 SWE vs POR −3.00%M1 SWE vs POR +2.50%Toss Index1,263.3 −2.50%Match Index1,723.8 −1.25%Twenty20 International · CSXM9 ENG vs IND −1.25%M8 ENG vs IND +5.00%M7 FIN vs POR +5.00%M6 FIN vs POR +0.00%M5 FIN vs POR +5.00%M4 SWE vs POR +5.00%M3 ENG vs IND +0.00%M2 SWE vs POR −3.00%M1 SWE vs POR +2.50%
Cricket Analysis

Top 10 greatest ODI batters of all time: The ranking that will divide fans

From Sachin Tendulkar to Virat Kohli, we rank the top 10 greatest ODI batters of all time by stats, impact, and legacy — a list bound to spark serious debate among fans.

Top 10 greatest ODI batters ranking, most divisive pick
Top 10 greatest ODI batters ranking, most divisive pick

One of the toughest debates in the history of the game is to rank the greatest ODI batters of all time. The top 10 list can be shocking to many, specially in the race to be the topper between Sachin Tendulkar and Virat Kohli. After all, it’s not only based on the number of runs, average, strike rate, half-centuries, or centuries. The benchmark is about making an impact in the format over a long period of time, along with doing well in ODI World Cups.

Every era, however, has produced some legends of the ODIs, who dominated in different conditions, against different bowling attacks, and under different rules. Some have changed the way the game used to be played, while others built the records that look to be impossible to break.

So, the question remains: what would be the yardstick to compare a player from the 80s with a modern-day superstar? Is it only about their contribution with the runs? Or should one also consider longevity, consistency, and performances under pressure too? There is no perfect formula, which is why the list will divide opinions.

Inside the list — and the No. 1 pick that most fans won't see coming

From some of the iconic World Cup performances to the unforgettable chases and the unmatched consistency, every name on the list has left an everlasting mark with their performance in the 50-over format. One can agree or may disagree, but one thing is certain: this ranking will spark plenty of debate among cricket fans.

Here are the top 10 greatest ODI batters of all time-

#10 MS Dhoni (India)- 10773 runs at 50.57 average-

The former ODI World Cup-winning captain, MS Dhoni, remained the sixth leading run-getter in ODIs for India, where he smashed 10599 runs in 294 innings at an average of 50.23 and a strike rate of 87.13 with the help of nine centuries and 73 half-centuries at the best score of 183* against Sri Lanka in Jaipur. 

Dhoni’s overall ODI career shows 10773 runs with 10 centuries because he also played for Asia in the past. Whenever the team would find him under pressure, the Ranchi-born would come and save them from the crisis. That reflects on his unbeaten 113-run knock against Pakistan in 2013 in Chennai or the ODI World Cup 2011 final knock of 91* runs in Mumbai.

See Also: MS Dhoni's top 5 most memorable knocks in international cricket: The innings that defined a legend

Between 41-50 overs, Dhoni is the leading run-getter with 4024 runs in 172 innings at a strike rate of 127.87, and that shows his power towards the death overs.

#9 Jacques Kallis (South Africa)- 11579 runs at 44.89 & 273 wickets-

Only two players in the history of the ODI format have done the combination of picking up more than 250 wickets and scoring over 11500 runs. And South Africa’s premier all-rounder, Jacques Kallis, is one of them, who finished his ODI career with 11579 runs at 44.36 and collected 273 wickets at 31.79.

It's a shame that while discussing the greatest ODI players, one doesn’t take the name of Kallis. Even if one forgets his performance with the ball in the batter-oriented list, there are his 11579 runs, which are the most by the Proteas.

In the overall list of ODI runs, the Cape Town-born sits at the ninth position on the table.

#8 Sanath Jayasuriya (Sri Lanka)- 13430 runs & 323 wickets in ODIs-

The former Sri Lanka captain and coach, Sanath Jayasuriya, is the other player than Kallis to have more than 11500 runs and over 250 wickets in the ODIs. But he stands alone at the peak with the combination of 13000+ runs and 300+ wickets in the 50-over format.

See Also: Top 10 fastest ODI centuries: Can anyone break AB de Villiers' record?

In his prime, the opposition sides used to be scared of him. The left-handed opener, who is the fifth leading run-getter in the 50-over format with 28 centuries and 68 fifties at the best score of 189, remained the sixth most run-hitter in the first 10 overs of the innings with 3765 runs at a strike rate of more than 84.

#7 Brian Lara (West Indies)- 10406 runs with 19 centuries-

The former West Indies captain and left-handed batter is 14th on the list of most runs being scored in the 50-over format. He smashed 10405 runs in 289 innings of ODIs at an average of more than 40 and a strike rate of nearly 80, with the help of 19 centuries and 63 fifties at the best score of 169 runs.

Lara managed a fine performance at home with 3224 runs in 85 innings at an average of 44.16, while in overseas conditions, he clubbed 7181 runs at 39.03. His best show with the bat came between 1995 and 1998 when he continued his 50+ ODI average in a year, with the best coming in 1993 when he drilled 1349 runs in 30 innings 49.96.

#6 Ab de Villiers (South Africa)- 9577 runs in ODIs with a SR of 101.09-

Not many players in ODIs have an average of more than 50 at home and away. And the former South Africa captain, AB de Villiers, is part of the rare list of players who smashed 3994 runs at 52.55 at home and drilled 5583 runs at 54.20 in foreign conditions. Overall, he smacked 9577 runs in just 218 innings of the 50-over format. 

De Villiers had an average of over 50 in ODIs in seven successive years between 2009 and 2015. Out of these, his best came in 2012 when he drilled 645 runs in just 12 innings at an average of 107.50 and a strike rate of 108.59, thanks to his two centuries and three fifties. 

In ODI World Cups, he bagged 1207 runs in just 22 innings at 63.52, having notched up four centuries and six half-centuries at the best score of 162* against West Indies.

#5 Rohit Sharma (India)- 11720 runs with 33 centuries in ODIs-

Rohit Sharma is overall the third leading run-getter in ODIs for India, having drilled 11720 runs in just 277 innings with an average of 48.83 and a blistering strike rate of 92.97 with 33 centuries and 62 fifties at the best score of 264. He is the only player in the format’s history to score three double-tons in the 50-over format.

See Also: Rohit Sharma or Virat Kohli— Who is the white-ball GOAT? The debate isn't as one-sided as fans think

In ODI World Cups, the Nagpur-born is the fourth leading run-getter before the 2027 edition with 1575 runs at 60.57 and has smacked the most centuries (07) in this event. Apart from 2013 when he averaged 30 in ODIs featuring in just three innings, the right-handed batter carried an average of 50+ in every single year between 2013 and 2025.

#4 Kumar Sangakkara (Sri Lanka)- 14234 runs with 25 ODI centuries-

Another batter in the history of the ODIs to get overlooked is Sri Lanka’s very fine, Kumar Sanakkarana, who drilled 14234 runs in the 50-over format at an average of nearly 42 with 25 centuries and 93 fifties at the best score of 169. His best year in the format was in 2013 when he collected 1201 runs at 62.21. Even in 2015, he averaged 86.20 for his 862 runs.

Sangakkara was a powerhouse in the batting department for Sri Lanka at number three, where he batted in 238 innings and smacked 9747 runs at 44.71 with 66 fifties and 18 centuries at the best score of 169. Even at four, he collected 2487 runs in 69 innings at 41.75. 

#3 Ricky Ponting (Australia)- 13704 runs with 30 ODI centuries-

When one takes the name of Ricky Ponting, everyone starts to think about his Test performance. But he is the fourth leading run-getter in the format with 13704 runs in 365 innings at an average of 42.03, thanks to 30 centuries and 82 fifties. In 1998, he nailed 1166 runs in 24 innings at an average of 53 with three centuries and six fifties.

In the history of the World Cups, where Australia enjoyed so much success, the former captain contributed 1743 runs in 42 innings at 45.86, thanks to his five centuries and six half-centuries at the best score of unbeaten 140 runs. Overall, his impact against some of the hardest bowlers of the game keeps him at number three of the list.

#2 Sachin Tendulkar (India)- 18426 runs with 49 centuries in ODIs-

Sachin Tendulkar, over the long years, has continued his impressive performance with the bat in the 50-over format. The right-handed Indian batter is overall the leading run-getter in ODIs with 18426 runs in 452 innings at an average of 44.83 with 49 centuries and 96 fifties. He holds the record for the most runs in WC history with 2278 runs in 44 innings with six centuries and 15 fifties.

Tendulkar, apart from all of his successful years, was in cracking form in 1996 (when he drilled 1611 runs at 53.70) and in 2003 (managing 1141 runs at 57.05). In India’s victories, he bagged 11157 runs at an average of 56.63.

#1 Virat Kohli (India)- 14797 runs at 58.71 and 54 centuries in ODIs-

Is there any debate? It just can’t be. Virat Kohli and ODI cricket are two ends of the planet. There are more than him being the second leading run-getter in the format with 14797 runs in 299 innings at an average of 58.71 with 54 centuries and 77 fifties.

See Also: Virat Kohli vs Sachin Tendulkar — who is the greater batter? The numbers, the context and the verdict most people won't accept

In India’s wins, he grabbed 10691 runs in just 184 innings at an average of 75.82 with the help of 44 centuries and 48 fifties, which shows how much the team remains dependent on him. In chases, he is second to none with 8420 runs in just 164 ODI innings at 65.78.

Player

Inns

Runs

Avg

SR

100s/50s

Virat Kohli (Ind)

299

14797

58.71

93.82

54/77

Sachin Tendulkar (Ind)

452

18426

44.83

86.23

49/96

Ricky Ponting (Aus)

365

13704

42.03

80.39

30/82

Kumar Sangakkara (SL)

380

14234

41.98

78.86

25/93

Rohit Sharma (Ind)

277

11720

48.83

92.97

33/62

Ab de Villiers (SA)

218

9577

53.50

101.09

25/53

Brian Lara (WI)

289

10405

40.48

79.51

19/63

Sanath Jayasuriya (SL)

433

13430

32.36

91.20

28/68

Jacques Kallis (SA)

314

11579

44.36

72.89

17/86

MS Dhoni (Ind)

297

10773

50.57

87.56

10/73

Top 10 greatest ODI batters of all time- FAQs

Frequently Asked Questions

Generally, to be ranked among the greatest ODI batters, a player needs to keep an eye on their total runs, batting average, strike rate, centuries, longevity, consistency, and performances in the ICC events.

Many feel Virat Kohli has a strong claim to be the greatest ODI batter due to extraordinary performance in chases where he soaks the pressure really well and has been consistent with the bat.

Sachin Tendulkar smashed 18426 runs in the ODI format with the help of 49 centuries. He played in an era where batting was the hardest aspect in the game. But he transformed himself over two decades in his career.

From the modern era, Yashasvi Jaiswal, Shubman Gill, Jacob Bethell, and Ryan Rickelton could be the greatest ODI batters of the modern era of the game.

About the Author

Subhradeep Choudhury
Written By

Subhradeep Choudhury

author · 3307 articles

Massive cricket lover and follower of world cricket since mid 2000s. Like to frame the game through stats and numbers. Bit old-school cricket lover, who always get encouraged by Test cricket. Questions few complex rules which baffle the new viewers of the game. Have been working as a cricket writer for more than 5 years.

POLL

Should Rohit Sharma be part of India’s squad for the 2027 World Cup?
poll
1.
✅ Yes
2.
❌ No

1,645

total votes

1/8/2027

end date

Watch Now

Web Stories

It is not my job to announce the winner

Rohit Sharma on being asked if England were rightly awarded the World Cup title in 2019