The best time to bat in the ODI format is in the top order (positions 1-3), as these batters usually get more balls to face than the others. Hence, the opportunity to score runs also increases and coupled with batting-friendly pitches in the format, these are the batters who lead the run charts more often than not.

One way of making the top-order slot in ODIs their own is to score centuries, and if we look at most of the scorecards, it is dominated by the top three of a team. While the middle-order batters do score centuries, it is not often as an opening or the No. 3 batter.

The below table will give us clear clarity to this statement.

So, here are the top 10 batters with the most centuries in ODI cricket.

Most Centuries in ODI Cricket

PlayerInningsCenturiesHighest Score
Virat Kohli (IND)29954183
Sachin Tendulkar (IND)45249200*
Rohit Sharma (IND)27433264
Ricky Ponting (AUS)36530164
Sanath Jayasuriya (SL)43328189
Hashim Amla (SA)17827159
AB de Villiers (SA)21825176
Chris Gayle (WI)29425215
Kumar Sangakkara (SL)38025169
Quinton de Kock (SA)16123178

Key Insights on Most Centuries in ODI Cricket

All-Time Century Records in ODIs

Virat Kohli has scored the most centuries in men’s ODI cricket. He, in fact, is the only one with more than 50 hundreds in this format.

Kohli and Tendulkar are the only two batters with20 or more centuries at home in ODIs.

Kohli is the only batter to score more than 20 hundreds in away ODIs.

Tendulkar brought up 45 of his 49 centuries while opening in 340 innings. This is the most centuries by an opener in ODIs.

Ricky Ponting smashed 22 of his 30 centuries as Australia’s captain. This is the most centuries by a captain in ODIs. Kohli follows Ponting with 21 hundreds as India’s skipper.

Kumar Sangakkara and Quinton de Kock are the only two wicketkeepers who have scored 20-plus centuries in ODIs.

Tendulkar (in Sharjah), Saeed Anwar (in Sharjah), and Ricky Ponting (in Melbourne) have scored the joint-most centuries at a single ground in ODIs, having smashed seven each at those venues. 


Fastest Hundreds and Double Century Feats in ODIs

AB de Villiers has struck the fastest century in ODIs, reaching the 100-run mark off just 31 balls against the West Indies in the 2015 Johannesburg ODI.

AB de Villiers has also smashed the quickest 150-run knock in ODIs, getting there in 64 balls against the West Indies in Sydney in the 2015 World Cup.

Ishan Kishan, meanwhile, has scored the fastest double century in ODIs, reaching there in 126 balls against Bangladesh in the 2022 Chattogram ODI.

Rohit Sharma has smashed the highest individual score in ODIs. He struck 264 runs off 173 balls against Sri Lanka in the 2014 Eden Gardens ODI.

Rohit is the only batter to score three double centuries in this format.

Rohit has also brought up the most 150-plus scores in ODIs. David Warner, Chris Gayle, Virat Kohli, and Sachin Tendulkar are the other batters with five or more 150-plus scores.


Series, Opponent, and Year-wise Century Feats in ODIs

Kohli is the only batter to smash three centuries each in two bilateral ODI series. He achieved the feat against South Africa and the West Indies in 2018.

Kohli has smashed the most centuries against an ODI team, having brought up 10 tons against Sri Lanka.

Kohli and Tendulkar have scored five or more centuries against six opponent teams each in ODIs.

Tendulkar has scored the most centuries in a calendar year in ODIs, having struck nine in 1998. The same year, Tendulkar aggregated 1894 runs in 33 innings, the most by a batter in a calendar year in ODIs.


Age-Related ODI Century Milestones

Shahid Afridi is the youngest batter to score a hundred in ODIs, having achieved the feat at the age of 16 years and 217 days against Sri Lanka in 1996.

UAE’s Khurram Khan, on the other hand, is the oldest centurion in ODIs at the age of 43 years and 162 days against Afghanistan in 2014.

Read Next | Most Test Matches as Captain