
Star Indian batter Virat Kohli shattered several records when he scored his 82nd international hundred in the Champions Trophy 2025 fixture against arch-rivals Pakistan at Dubai International Cricket Stadium on February 23. The right-hander smashed his 51st ton in ODI cricket and also became the fastest batter to reach the milestone of 14000 in the 50-over format. Kohli is currently the third highest run-getter in ODI history and is just behind Sachin Tendulkar and Kumar Sangakkara in the list.
In ODI cricket, there are many batters who have mastered the art of scoring big runs and are considered among the greatest batters of the format. With their consistent run scoring and ability to score big hundreds, several batters have made it to the list of highest run getters in the ODI format.
Top 10 Cricketers with most runs in the history of ODI cricket:
10. Rohit Sharma - 11,049 runs
Indian skipper Rohit Sharma is among the greatest batters in white-ball cricket in the modern era. The opening batters is currently the 10th highest run getter in ODI format and has also recently reached the milestone of 11000 runs in the 50-over format. Rohit has scored 11049 from 270 matches in his ODI career so far along with 32 centuries and 57 half-centuries.
9. Sourav Ganguly - 11,363 runs
The former Indian Sourav Ganguly was among the best ODI batters for India in the decade of 2000s. He was known for playing big knocks in crucial matches and has also achieved several milestones in the 50-overs. Ganguly has played 311 matches in the ODI format scoring 11,363 runs 41.02 along with 22 centuries and 72 fifties to his name.
8. Jacques Kallis - 11,579 runs
Former South African all-rounder Jacques Kallis established himself as one of the best cricketers to play for the Proteas across all formats. Kallis has played 328 matches in his ODI career scoring 11,579 runs along with 17 centuries and 86 half-centuries with an average of 44.36.
7. Inzamam-ul-Haq – 11,739 runs
Inzamam-ul-Haq is currently the highest run getter for Pakistan in the ODI format. In his career between 1991 to 2007, Inzamam has played 378 ODI matches scoring 11,739 total runs along with 10 centuries and 83 half-centuries at an average of 39.52.
6. Mahela Jayawardene – 12,650 runs
Former Sri Lankan cricketer Mahela Jayawardene is regarded as one of the best batters to play for the country in the decade of 2000s, who has acheived several milestones in the limited overs cricket. Jayawardene has scored 12650 runs from 448 ODI matches of his career along with 19 hundreds and 77 half-centuries to his name.
5. Sanath Jayasuriya – 13,430 runs
Former Sri Lankan captain Sanath Jayasuriya has played 445 ODI matches and scored 13,430 runs with in his career in the 50-over format. Along with this, Jayasuriya has also amassed 28 centuries and 68 half-centuries with an average of 32.36.
4. Ricky Ponting - 13,704 runs
Former Australian skipper Ricky Ponting was a kind of a player who excellled in both his batting and captaincy leading Australia to four ICC titles and also standing at the top in the list of highest run scorers for the country in the ODI format. Ponting has played 375 ODIs during his stellar career and scored a total of 13,704 runs, his biggest individual score being 164 runs. His incredible ODI record includes 30 hundreds and 82 half-centuries with an average of 42.03.
3. Virat Kohli – 13,962 runs
Star Indian batter Virat Kohli is the highest run scorer in the ODI format among active cricketers and comes third in the overall list of all-time leading run getters of the 50-over format. Kohli has scored 14085 runs from 299 matches in his ODI career so far, along with record 51 centuries and 73 half-centuries to his name at an average of 58.20.
2. Kumar Sangakkara – 14,234 runs
Kumar Sangakkara, one of the finest wicketkeeeper batters to play for Sri Lanka has played 404 ODI matches in his international career. In these 404 matches, Sangakkara has scored 14,234 runs, along with 25 centuries and an incredible 93 half-centuries at an average of 31.98.
1. Sachin Tendulkar - 18,426 runs
Indian cricketing great is the highest run getter of all time in the ODI format. The legendary cricketer has played 463 matches in his ODI career amassing 18426 runs along with 49 hundreds and 96 half-centuries to his name at an average of 44.83. Sachin is also the first batter to score a double ton in the ODI format