Cricket is one of the most watched and celebrated sports around the world. It is one sport that is enjoyed by all either by indulging themselves in the sport or by watching it for their favourite players.
Though there are many roles in cricket that a player performs but the most cherished role is that of a batter. Bowling and fielding are two other roles which are equally important when it comes to cricket but the batters are the one who brings in thrill to the field.
Though there are different forms of cricket including T20 and ODI, 100s from the players are mostly seen in the one day international cricket format as the players get to play for longer times with overall 50 overs at hand. Thus, in this format we get to see most 100s scored by the players.
Thus, here is the list of top 10 cricketers with most hundreds in ODI international cricket till now. The list contains a few active players with most centuries in their cricketing career in ODI till now and a few others who have retired from the game.
Player Name | Matches | Innings | 100s |
Virat Kohli (India) | 299 | 287 | 51 |
Sachin Tendulkar (India) | 463 | 452 | 49 |
Rohit Sharma (India) | 270 | 262 | 32 |
Ricky Ponting (Australia) | 375 | 365 | 30 |
Sanath Jayasuriya (Sri Lanka) | 445 | 433 | 28 |
Hashim Amla (South Africa) | 181 | 178 | 27 |
AB de Villiers (South Africa) | 228 | 218 | 25 |
Chris Gayle (West Indies) | 301 | 294 | 25 |
Kumar Sangakkara (Sri Lanka) | 404 | 380 | 25 |
David Warner (Australia) | 161 | 159 | 22 |
In this list one of the most celebrated Indian cricketers, that is, Virat Kohli tops the list of top 10 cricket players with most centuries in their ODI international cricket. The list includes cricketers from all the international teams including players from India, Australia, South Africa, Sri Lanka, and West Indies.
1. Virat Kohli (India)

Recently, Virat Kohli scored his 51st century at Dubai International Cricket Stadium against Pakistan and this is one of the most memorable centuries by the player as he finished his century as well as the match with a four. In this match India performed very well and Virat Kohli scored 100 runs out of the 242 runs target that was given by the other team.
Though Virat Kohli has been enjoyed the most as a batter for team India. He has scored a total of 51 centuries in one day international cricket in a total of 287 innings he has played for team India.
Virat Kohli has a record of 183 runs as his highest recorded scores till now and he has been playing since 2008 and is still playing the game thus one can expect a new milestone from the player very soon.
Player Name | Virat Kohli |
Team | India |
Total Centuries | 51 |
Innings | 287 |
Runs | 14085 |
Highest Score | 183 |
Span | 2008 – 2025 |
Read Also:- Fastest Century in T20 International by Indian Player
2. Sachin Tendulkar (India)

Sachin Tendulkar is another Indian cricketer with the highest centuries in his career. He has scored a total of 49 centuries in his career from 1989 to 2012. Sachin Tendulkar is one of the most celebrated batters in Indian history with a total 18426 runs in his 452 innings.
The cricketer even has scored double centuries once in his career which indicated he has a highest score of 200 runs in a single match in his career. He stands on number 2 in the list of top 10 players with highest centuries in the ODI international cricket.
Player Name | Sachin Tendulkar |
Team | India |
Total Centuries | 49 |
Innings | 452 |
Runs | 18426 |
Highest Score | 200 |
Span | 1989 – 2012 |
See Also:- GOD of Cricket
3. Rohit Sharma (India)

Rohit Sharma is another Indian cricketer with the most number of centuries in his career. The player stands on number 3 in the list of top 10 players with highest centuries in the ODI international cricket. He is another player who is still playing the sport and can achieve more milestones in the coming time through his cricketing career.
Rohit Sharma has a total of 32 centuries in his career as an ODI player with a record breaking highest score of 264 runs in a single match. He has played a total of 262 innings and has scored a total of 11049 runs since 2007 to 2025 and the number might increase.
Player Name | Rohit Sharma |
Team | India |
Total Centuries | 32 |
Innings | 262 |
Runs | 11905 |
Highest Score | 264 |
Span | 2007 – 2025 |
Read More:- Most Sixes as Captain
4. Ricky Ponting (Australia)

Ricky Ponting is an Australian cricketer who is on number 4 when it comes to the list of top 10 players with highest centuries in the ODI international cricket. He was and is still one of the most admired batters from the Australian team.
Ricky Ponting has a total of 30 centuries in his name in his career from 1995 to 2005 with highest score of 164 runs. He has played a total of 365 matches with a total of 13704 runs in his 10 years of cricketing journey as an ODI player.
Player Name | Ricky Ponting |
Team | Australia |
Total Centuries | 30 |
Innings | 365 |
Runs | 13704 |
Highest Score | 164 |
Span | 1995 – 2005 |
5. Sanath Jayasuriya (Sri Lanka)

Sanath Jayasuriya is a Sri Lankan player with 28 centuries and stands on number 5 in the list of top 10 players with highest centuries in the ODI international cricket. He was known for his fierce batting skills in the Sri Lankan team.
He has the highest score of 189 runs in his career spanning from 1989 to 2011 and has played a total of 433 matches and has scored a total of 13430 runs.
Player Name | Sanath Jayasuriya |
Team | Sri Lanka |
Total Centuries | 28 |
Innings | 433 |
Runs | 13430 |
Highest Score | 189 |
Span | 1989 – 2011 |
6. Hashim Amla (South Africa)

Hashim Amla stands on number 5 when it comes to the list of top 10 players with highest centuries in the ODI international cricket. He played on the side of South Africa and was an active player in the team for only 11 years, that is from 2008 to 2019.
He has scored a total of 27 centuries in 178 international matches played and his highest score from his 178 innings is 159. His contribution to the team in these 178 matches was 8113 runs in these 11 years.
Player Name | Hashim Amla |
Team | South Africa |
Total Centuries | 27 |
Innings | 178 |
Runs | 8113 |
Highest Score | 159 |
Span | 2008 – 2019 |
7. AB de Villiers (South Africa)

AB de Villiers is another South African player who is known for his fierce batting skills among the top 10 players with highest centuries in the ODI international cricket. Though the player has retired from international cricket in 2018 but is still known for his performance on the pitch.
He has a total of 25 centuries from his 218 innings in his career spanning from 2005 to 2018. The milestone created by the cricketer was 176 runs from a single match and total runs scored by the cricketer is 9577 runs.
Player Name | AB de Villiers |
Team | South Africa |
Total Centuries | 25 |
Innings | 218 |
Runs | 9577 |
Highest Score | 176 |
Span | 2005 – 2018 |
8. Chris Gayle (West Indies)

Chris Gayle is another batter known for his skills on the pitch. He played for the West Indies and has scored a total of 25 centuries in his career spanning from 1999 to 2019.
The player has played a total of 194 matches and has scored 10480 runs in his career as an ODI player. And Chris Gayle has the highest score of 215 runs which is remarkable in itself.
Player Name | Chris Gayle |
Team | West Indies |
Total Centuries | 25 |
Innings | 294 |
Runs | 10480 |
Highest Score | 215 |
Span | 1999 – 2019 |
Know more:- Most Wickets in International Cricket
9. Kumar Sangakkara (Sri Lanka)

Kumar Sangakkara is a retired Sri Lankan player who stands on number 9 in the list of top 10 players with highest centuries in the ODI international cricket. The player has a total of 25 centuries under his name in 380 international matches he has played in his career.
Kumar Sangakkara was an active international player from 2000 to 2015 and has scored a total of 14234 runs with highest score of 169 runs. He is one of the most celebrated batters from the Sri Lankan team.
Player Name | Kumar Sangakkara |
Team | Sri Lanka |
Total Centuries | 25 |
Innings | 380 |
Runs | 14234 |
Highest Score | 169 |
Span | 2000 – 2015 |
10. David Warner (Australia)

David Warner has recently retired from international cricket two years ago in 2023. He used to play for the Australian team and has scored centuries 22 times in his career spanning from 2009 to 2023 in his 157 international innings.
David Warner has the highest score of 179 runs in his fourteen years career. The player was one of the most feared hitters from the Australian team whenever he came to bat on the pitch.
Player Name | David Warner |
Team | Australia |
Total Centuries | 22 |
Innings | 157 |
Runs | 6896 |
Highest Score | 179 |
Span | 2009 – 2023 |
The list above contains some of the best batters from the history of cricket. The above-mentioned players are the top 10 players with highest centuries in ODI international cricket. All the players come from different teams but the top three players come from team India which is a milestone in itself.
The list goes on and players from different teams qualify in the list with numerous centuries.