Sachin Tendulkar (L) and Virat Kohli (R) (Source: AFP)
Since the inception of ODI cricket in 1971, the pattern of cricket has shifted from the traditional Test-centric approach to multi-format adaptation. Scoring runs in ODIs demands a skillset different from the one in Test cricket.
Run-scoring in Tests can be executed as per the batter’s will to play either slow or aggressive, but in ODI cricket, it is the situation that makes a batter adapt himself and coordinate with the demands of the game flow.
From 60-over games in the initial years to 50-over games, the dynamics of ODI cricket have shifted from a safe batting approach to the aggressive gameplay in modern-day cricket. Meanwhile, there have been a few batters who adapted themselves brilliantly according to the demands of the ODI cricket and established themselves as batting greats in this format.
That said, here's a look at the top 10 batters with most ODI runs till January 2026.
Top 10 batters with most ODI runs till January 2026
Sachin Tendulkar (India) - 18,426 runs (1989-2012)
Former India batting legend across all formats, Sachin Tendulkar, is still leading most of the batting charts in ODIs, even after almost 14 years since his retirement in 2012. The Master Blaster represented India in ODIs for 23 years from December 1989 to March 2012.
In his glorious and iconic ODI career, Sachin Tendulkar played 463 matches, the highest number of matches played by any player in the format’s 55-year history. In these 463 games, he scored 18,426 runs in 452 innings, with an average of 44.83, hitting 49 centuries and 96 half-centuries.
Currently, Sachin Tendulkar is the leading run-scorer of all time in ODIs, being closely followed by his compatriot, Virat Kohli. In the Gwalior ODI against South Africa in February 2010, he also achieved a historic milestone for the first time in the entire history of ODI cricket, becoming the first batter to score a double century in the ODI.
Virat Kohli (India) - 14,797 (2008-Present)
The modern-day batting great and the poster boy of India’s current batting superstardom, Virat Kohli, has set new standards of ODI batsmanship in his career of more than 17 years since 2007. He has already surpassed his idol and former India great, Sachin Tendulkar, in a couple of ODI batting records.
One of those records is the ‘most ODI centuries’, in which Kohli surpassed Sachin’s 49 centuries, with his 50th ODI ton in the ODI World Cup 2023 semi-final against New Zealand. Currently, Kohli has 54 ODI centuries to his name, being the batter with the most ODI centuries.
Speaking of runs in ODI, Kohli has scored 14,797 runs in 299 innings of the 311 games, with an average of 58.71, hitting 54 tons and 77 half-centuries. He is currently the second leading scorer of all-time in ODIs. Out of his 311 ODIs, Kohli led India in 95 games, including 65 wins, 27 defeats, and a tied game and two matches without a result.
Kumar Sangakkara (Asia/ICC/Sri Lanka) - 14,234 (2000-2015)
In his 15-year ODI career, former Sri Lanka legend Kumar Sangakkara played 404 ODIs. In these games, he scored 14,234 runs in 380 innings, at an average of 41.98, scoring 25 centuries and 93 half-centuries. He is the leading run-scorer of all time in ODIs for Sri Lanka.
Besides that, the former Sri Lanka skipper is the third-highest run-scorer of all time in ODIs, behind two India greats, Virat Kohli and Sachin Tendulkar. Notably, Sangakkara also captained the Islanders in 45 ODIs, winning 27, losing 14, and drawing 4. His last game as captain of Sri Lanka was the ODI World Cup 2011 final against India, which Sri Lanka lost by 6 wickets and finished as runners-up.
Ricky Ponting (Australia/ICC) - 13,704 ODI runs (1995-2012)
Australia’s most successful ODI captain and batter, Ricky Ponting, was one of the key pillars of the Australian cricket team’s dominant era, including two successive ODI World Cup wins in 2003 and 2007 and two successive ICC Champions Trophy wins in 2006 and 2009. Ponting took over the captaincy from the former great, Steve Waugh, in 2002 and led the side for the next decade until 2012.
Speaking of Ricky Ponting, the batter, he played 375 ODIs in his 17-year ODI career and scored 13,704 runs in 365 innings, at an average of 42.03, hitting 30 centuries and 82 half-centuries. He ended his career as the leading run-scorer of all time in ODIs for Australia. Apart from that, he is the fourth leading run-scorer of all-time in ODIs, following the Sri Lankan legend, Kumar Sangakkara.
Sanath Jayasuriya (Asia/Sri Lanka) - 13,430 runs (1989-2011)
Sanath Jayasuriya ended his journey in international cricket as the longest ODI career for Sri Lanka, which lasted for 22 years from 1989 to 2011. Besides that, he is the second Sri Lankan cricketer to play the most ODIs for Sri Lanka.
The legendary southpaw featured in 445 ODIs, scoring 13,430 runs in 433 innings, averaging 32.36, hitting 28 centuries and 68 half-centuries. Jayasuriya ranks fifth in the list of the top 10 batters with most runs in ODIs.
Mahela Jayawardene (Asia/Sri Lanka) - 12,650 runs (1998-2015)
The former Sri Lanka skipper and one of their all-time batting greats, Mahela Jayawardene, follows his senior teammate Sanath Jayasuriya in the list of the top 10 batters with the most ODI runs. Jayawardene scored 12,650 runs in 418 innings of the 448 games he played. He scored these runs with an average of 33.37, hitting 19 centuries and 77 half-centuries.
During his ODI career spanning more than 1.5 decades, Jayawardene also captained his national team in 130 ODIs, winning 72, losing 49, and playing 9 no-result games, with 1 tied game. He also led the Islanders to the final of the ODI World Cup 2007, where they lost to Sri Lanka and finished as the runners-up in the prestigious cricket quadrennial.
Inzamam-ul-Haq (Asia/Pakistan) - 11,739 runs (1991-2007)
Inzamam-ul-Haq, undoubtedly one of the all-time ODI batting greats for Pakistan, follows the legends like Javed Miandad. Inzamam served Pakistan in international cricket for 16 years from 1991 to 2007. He represented the 1992 World Cup champions across five ODI World Cups from 1992 as a young batting prodigy to 2007 as a skipper and retiring veteran.
Inzi played 375 ODIs and scored 11,739 runs in 350 innings, averaging 39.52, with 10 centuries and 83 half-centuries. He also ended his career as the leading run-scorer of all time in ODIs for Pakistan. In the overall list of the top 10 batters with most ODI runs, the former Pakistan skipper ranks seventh, following Sri Lanka’s Mahela Jayawardene.
Jacques Kallis (Africa/ICC/South Africa) - (1996-2014)
The former Proteas legend, Jacques Kallis, is arguably the greatest all-rounder in cricket history. Apart from his batting-bowling greatness in the Tests, Kallis also left everyone awestruck with his batting success in the ODIs. He scored 11,579 runs in 314 innings of the 328 ODIs, at an average of 44.36, with 17 centuries and 86 half-centuries.
He is still the leading run-scorer of all time in ODIs for South Africa, having retired almost 12 years ago in 2014. Apart from that, the Proteas great is in the eighth spot in the list of the top 10 batters with the highest ODI runs to their name.
Rohit Sharma (India) - 11,577 runs - (2007-Present)
The former India skipper and the modern-day batting great, Rohit Sharma, has been in a brilliant run of form in the last couple of ODI assignments. Rohit needs just two runs to equal and three runs to surpass the former SA legend, Jacques Kallis, in the list of all-time leading run-scorers in ODIs. Rohit Sharma has scored 13,577 runs in 274 innings of his 282 games, with an average of 48.84, smashing 33 centuries and 61 half-centuries.
Notably, the 38-year-old is the third batter with the most ODI centuries, following Virat Kohli and Sachin Tendulkar. He is also the third leading run-scorer of all time in ODIs for India. Among the overall leading run-scorers of all time in ODIs, Rohit is ninth, following the former Proteas great, Jacques Kallis.
Out of his 282 ODIs so far, Rohit also captained the Men in Blue in 556 games, scoring 2506 runs in 55 innings, with an average of 52.20, hitting 5 centuries and 17 half-centuries. Rohit’s captaincy tenure for India also included one of his three iconic ODI double centuries.
He also led India to the ODI World Cup 2023 final, where they faced an unfortunate defeat against Australia. Later in the ICC Champions Trophy 2025, Rohit guided India to win the title, staying unbeaten throughout the tournament.
Sourav Ganguly (Asia/India) - 11,363 runs (1992-2007)
India’s one of the most successful ODI skippers, Sourav Ganguly, made his ODI debut in a 1992 World Cup game against the West Indies. Furthermore, he went on to wear the blues for the next 15 years before bidding adieu to ODIs, with his last appearance in 2007 against Pakistan in the Gwalior ODI.
In his ODI career of 311 matches across 15 years, Ganguly scored 11,363 runs in 300 innings, at an average of 41.02, hitting 22 centuries and 72 half-centuries. He ranks 10th in the list of the top 10 batters with most ODI runs, alongside being the fourth leading run-scorer of all-time in ODIs for India, following Rohit Sharma in both the lists.
In his 311-match ODI career, he captained India in 147 ODIs, scoring 5,104 runs in 143 innings, at an average of 38.66, with 11 centuries and 30 half-centuries. Speaking of his success as captain in 147 games he led, India won 76 games, lost 66, and drew 5. Ganguly also led Team India to the ODI World Cup 2003, where they lost to Australia and finished as the runners-up.




