Top 5 batsmen with most centuries in ODI cricket

Everyone knows who holds the record of most centuries in ODI cricket, but who are the following ones?
In the captivating world of One Day International (ODI) cricket, there are batsmen who have consistently demonstrated the exceptional skill of reaching three-digit scores.
Centuries in ODI cricket carry substantial importance that goes beyond individual accomplishments. They hold immense value for both the players themselves and their teams. These three-digit scores not only represent a batsman’s exceptional skill in the game but also highlight their ability to perform exceptionally well even when faced with high-pressure situations that can significantly impact the outcome of the match. Achieving a century stands as evidence of their cricketing prowess, unwavering composure, and adaptability to the fast-paced, limited-overs format of the game.
These remarkable individuals have achieved the remarkable feat of accumulating the highest number of centuries in ODI cricket. Now, let’s delve into the list of the top five batsmen with the most centuries in ODI cricket.
Here are the top five batsmen with most centuries in ODI cricket:
5. Sanath Jayasuriya – 28:
During his illustrious One Day International (ODI) career, Sanath Jayasuriya notched an impressive 28 centuries among his 445 matches. He also accumulated a total of 13,430 runs with a highest individual score of 189 runs.
4. Ricky Ponting – 30:

Throughout his remarkable One Day International (ODI) career, Ricky Ponting featured in 375 matches and achieved an impressive tally of 30 centuries. He also amassed a total of 13,704 runs, with his highest individual score standing at 164 runs.
3. Rohit Sharma – 33:

As of now, Rohit Sharma has participated in 278 ODIs, highlighting an outstanding record of 33 centuries. During his illustrious ODI career, he has amassed over 11,400 runs, achieving his highest individual score of 264 runs.
2. Sachin Tendulkar – 49:

Sachin Tendulkar, the cricket legend, boasts an impressive 49 centuries in his illustrious ODI career. He graced the field in 463 ODI matches, accumulating an astounding total of 18,426 runs and achieving his highest individual score of an unbeaten 200*. He held the record of most ODI centuries from 2012 to 2023, until Virat Kohli broke it.
1. Virat Kohli – 53:

As of now, Virat Kohli has taken part in 307 ODI matches, showcasing an outstanding record of 53 centuries. He has amassed over 14,400 runs, achieving a highest individual score of 183 runs during his illustrious ODI career. He overtook Sachin Tendulkar’s tally of 49 ODI centuries in ICC Cricket World Cup 2023 semi-final match against New Zealand in Mumbai.
(All stats updated till 3rd December, 2025)
Who has hit most ODI hundreds?
Virat Kohli (53) has hit most ODI hundreds.
How many batters have scored over 30 ODI hundreds?
Four batters, namely, Sachin Tendulkar, Ricky Ponting, Virat Kohli and Rohit Sharma, have hit over 30 ODI hundreds.
For more updates, follow Khel Now Cricket on Facebook, Twitter, Instagram, Youtube; download the Khel Now Android App or IOS App and join our community on Whatsapp & Telegram.
- AUS vs ENG: Day 2 session timings for Brisbane test, The Ashes 2025-26
- The Ashes 2025-26: [Watch] Matthew Hayden takes sigh of relief on his "walking nude" statement after Joe Root's ton at the Gabba
- AUS vs ENG: Mark Wood opens up about his availability for third test of Ashes 2025-26 in Adelaide
- Josh Inglis doubtful for entire IPL 2026 - Reports
- "Matthew Hayden is happiest person on the earth right now" - Fans react as Joe Root slams his first-ever test century in Australia
- AUS vs ENG: Day 2 session timings for Brisbane test, The Ashes 2025-26
- The Ashes 2025-26: [Watch] Matthew Hayden takes sigh of relief on his "walking nude" statement after Joe Root's ton at the Gabba
- AUS vs ENG: Mark Wood opens up about his availability for third test of Ashes 2025-26 in Adelaide
- Josh Inglis doubtful for entire IPL 2026 - Reports
- "Matthew Hayden is happiest person on the earth right now" - Fans react as Joe Root slams his first-ever test century in Australia