Most ODI Runs of All Time — The Definitive Leaderboard
One Day International cricket has produced some of the most prolific run-scorers the sport has ever seen. Across five decades of 50-over cricket, a select group of batters have separated themselves from the pack through sheer volume, consistency, and longevity at the highest level.
At the summit stands Virat Kohli, whose 14,675 runs in 298 ODI matches represent one of the most extraordinary accumulations in the history of the format. That total — more than 3,000 runs clear of the next name on the list — speaks to a dominance that few cricketers in any era have matched.
The All-Time ODI Run-Scoring Leaderboard
| Rank | Player | Country | Runs | Matches | High Score |
|---|---|---|---|---|---|
| 1 | [V Kohli](/cricket/players/v-kohli) | India | 14,675 | 298 | 183 |
| 2 | [KC Sangakkara](/cricket/players/kc-sangakkara) | Sri Lanka | 11,640 | 284 | 169 |
| 3 | [RG Sharma](/cricket/players/rg-sharma) | India | 11,357 | 271 | 264 |
| 4 | [MS Dhoni](/cricket/players/ms-dhoni) | India | 10,274 | 281 | 148 |
| 5 | [AB de Villiers](/cricket/players/ab-de-villiers) | South Africa | 9,435 | 213 | 176 |
| 6 | [TM Dilshan](/cricket/players/tm-dilshan) | Sri Lanka | 9,212 | 267 | 161 |
| 7 | [LRPL Taylor](/cricket/players/lrpl-taylor) | New Zealand | 8,126 | 209 | 181 |
| 8 | [DPMD Jayawardene](/cricket/players/dpmd-jayawardene) | Sri Lanka | 8,069 | 264 | 144 |
| 9 | [HM Amla](/cricket/players/hm-amla) | South Africa | 7,834 | 174 | 159 |
| 10 | [Tamim Iqbal](/cricket/players/tamim-iqbal) | Bangladesh | 7,648 | 215 | 158 |
| 11 | [JE Root](/cricket/players/je-root) | England | 7,329 | 178 | 166 |
| 12 | [KS Williamson](/cricket/players/ks-williamson) | New Zealand | 7,145 | 168 | 148 |
| 13 | [MJ Guptill](/cricket/players/mj-guptill) | New Zealand | 7,125 | 191 | 237 |
| 14 | [Mushfiqur Rahim](/cricket/players/mushfiqur-rahim) | Bangladesh | 7,096 | 227 | 144 |
| 15 | [Q de Kock](/cricket/players/q-de-kock) | South Africa | 7,014 | 159 | 178 |
The Names at the Top
Kohli's Unmatched Supremacy
Virat Kohli's 14,675 runs stand as the defining record of modern ODI batting. His average across 298 matches reflects an almost machine-like consistency — he reached 10,000 ODI runs faster than any batter before him and has continued piling on runs since. His highest score of 183 came in the kind of run-chase that has become his signature: absorbing pressure, accelerating at will, and finishing the job. Kohli's ODI record is built not on occasional brilliance but on relentless accumulation, with 50-plus scores arriving at a frequency no other batter in ODI history can match.
Sangakkara's Elegance in Numbers
Kumar Sangakkara's 11,640 runs in 284 matches place him second on the all-time list, a fitting position for one of the most technically complete batters Sri Lanka has produced. Sangakkara's peak ODI years saw him convert starts into substantial innings with remarkable regularity. His partnership with Mahela Jayawardene — who sits eighth on this list with 8,069 runs — gave Sri Lanka one of the most productive middle-order combinations in ODI history. Between them, Sangakkara and Jayawardene accumulated 19,709 ODI runs, a combined haul that anchored Sri Lankan batting for over a decade.
Rohit Sharma and the Art of the Big Score
Rohit Sharma's 11,357 runs in 271 matches tell only part of the story. His highest score of 264 — the highest individual innings in ODI history — encapsulates what separates him from nearly every other opener in the format's history. No other batter has scored three ODI double-centuries. Rohit's ability to convert fifties into hundreds, and hundreds into 150-plus scores, is statistically unmatched. His run tally places him third all-time, but his impact per innings ranks among the very highest.
The 10,000-Run Club
Only four batters on this leaderboard have crossed the 10,000-run mark in ODIs. Kohli (14,675), Sangakkara (11,640), Rohit Sharma (11,357), and MS Dhoni (10,274) form an exclusive group. Dhoni's inclusion is particularly notable given that he spent much of his career batting at No. 5, 6, or 7 — positions that typically limit volume. His 10,274 runs in 281 matches, including a highest score of 148, reflect the longevity and finishing ability that defined his ODI career.
Efficiency and Strike Rate — Quality Beyond Volume
Pure run tallies reward longevity, but the list also contains batters whose efficiency stands out. AB de Villiers managed 9,435 runs in just 213 matches — the fewest matches of any batter in the top six. His runs-per-match ratio of 44.3 is the highest on the entire leaderboard, reflecting an ability to score at volume while maintaining a strike rate that regularly exceeded 100. De Villiers retired with years of ODI cricket still ahead of him, making his 9,435-run total all the more striking for what it represents in so few appearances.
Hashim Amla tells a similar story: 7,834 runs in 174 matches gives him a runs-per-match ratio above 45, the best efficiency figure of any batter in the top 15. Amla reached 7,000 ODI runs faster than any South African in history.
At the other end, Quinton de Kock compiled 7,014 runs in 159 matches — the fewest innings of any batter in the top 15 — with a highest score of 178 that showcased his ability to produce match-defining knocks from the top of the order.
The Multi-Nation Spread
The top 15 spans seven different countries: India (4 batters), Sri Lanka (3), New Zealand (3), South Africa (3), Bangladesh (2), England (1). This spread reflects ODI cricket's global reach. India's four representatives — Kohli, Rohit, Dhoni, and Yuvraj Singh (6,932 runs, just outside the top 15) — together account for over 43,000 ODI runs, the largest national contribution to the upper reaches of this list.
New Zealand's three entries — Ross Taylor (8,126), Kane Williamson (7,145), and Martin Guptill (7,125) — represent the deepest ODI batting era in that country's history. Taylor's 181 against England remains a landmark innings in New Zealand cricket.
Bangladesh's two representatives, Tamim Iqbal (7,648) and Mushfiqur Rahim (7,096), are the first batters from their country to breach 7,000 ODI runs, reflecting the steady rise of Bangladesh cricket over the past two decades.
Records Within the Record
- Highest individual score on the list: Rohit Sharma's 264 (the ODI world record)
- Second-highest individual score on the list: Martin Guptill's 237 against the West Indies in the 2015 World Cup quarter-final
- Most matches: Virat Kohli (298) — the only batter above 290
- Fewest matches to 7,000 runs: Quinton de Kock (159 matches)
- Only batter to represent two nations: Eoin Morgan (England and Ireland, combined 6,953 runs)
What the Leaderboard Shows
This list captures the evolution of ODI batting. The older generation — Ponting (6,979), Clarke (6,988), Yuvraj (6,932) — built their totals in an era of 250-scoring pitches and more conservative field placements. The modern generation — Kohli, Rohit, de Villiers, de Kock — have compiled runs in an era where 300-plus totals are routine and strike rate expectations have risen sharply.
That Kohli has amassed over 14,000 runs in the modern, high-pressure ODI landscape — where bilateral series carry less schedule protection and the Champions Trophy format demands peak performances in compressed windows — makes his lead at the top all the more commanding.
The all-time ODI records continue to evolve as the format adapts, but the names at the top of this leaderboard have secured their place in the permanent record of the game.
FAQ
Who has scored the most runs in ODI cricket history?
Virat Kohli holds the record with 14,675 runs in 298 ODI matches for India. He surpassed Sachin Tendulkar's long-standing record and has extended his lead to more than 3,000 runs ahead of second-placed Kumar Sangakkara (11,640).
How many batters have scored more than 10,000 ODI runs?
Four batters on the current leaderboard have crossed the 10,000-run mark in ODIs: Virat Kohli (14,675), Kumar Sangakkara (11,640), Rohit Sharma (11,357), and MS Dhoni (10,274). Sachin Tendulkar, Ricky Ponting, and several other retired greats also crossed this milestone during their careers.
Who holds the record for the highest individual score in ODI cricket?
Rohit Sharma holds the record with 264 runs against Sri Lanka, the highest individual innings in ODI history. He is the only batter to have scored three double-centuries in ODIs.
Which country has the most batters in the top 15 all-time ODI run-scorers?
India leads with four batters in the top 15: Virat Kohli (1st), Rohit Sharma (3rd), MS Dhoni (4th), and Shikhar Dhawan (20th, 6,733 runs). Sri Lanka and South Africa each have three representatives.