Virat Kohli has scored the most centuries in ODI cricket, 55. He passed Sachin Tendulkar’s 49 at the 2023 World Cup and has added five more since, and he is still playing — so the record is not finished.
The top three are all India batters, and the first two are the only men to have reached 40.
Most centuries in ODI cricket
Every batter with 19 or more ODI hundreds, complete to 30 September 2026. Source: ESPNcricinfo.
| Rank | Player | Team | Span | Mat | Runs | 100s | 50s | Ave |
|---|---|---|---|---|---|---|---|---|
| 1 | Virat Kohli | India | 2008-2026 | 316 | 15109 | 55 | 79 | 59.01 |
| 2 | Sachin Tendulkar | India | 1989-2012 | 463 | 18426 | 49 | 96 | 44.83 |
| 3 | Rohit Sharma | India | 2007-2026 | 290 | 12028 | 35 | 62 | 49.09 |
| 4 | Ricky Ponting | Australia | 1995-2012 | 375 | 13704 | 30 | 82 | 42.03 |
| 5 | Sanath Jayasuriya | Sri Lanka | 1989-2011 | 445 | 13430 | 28 | 68 | 32.36 |
| 6 | Hashim Amla | South Africa | 2008-2019 | 181 | 8113 | 27 | 39 | 49.46 |
| 7 | AB de Villiers | South Africa | 2005-2018 | 228 | 9577 | 25 | 53 | 53.50 |
| 7 | Chris Gayle | West Indies | 1999-2019 | 301 | 10480 | 25 | 54 | 37.83 |
| 7 | Kumar Sangakkara | Sri Lanka | 2000-2015 | 404 | 14234 | 25 | 93 | 41.98 |
| 10 | Quinton de Kock | South Africa | 2013-2026 | 164 | 7152 | 23 | 32 | 45.84 |
| 11 | Tillakaratne Dilshan | Sri Lanka | 1999-2016 | 330 | 10290 | 22 | 47 | 39.27 |
| 11 | Sourav Ganguly | India | 1992-2007 | 311 | 11363 | 22 | 72 | 41.02 |
| 11 | David Warner | Australia | 2009-2023 | 161 | 6932 | 22 | 33 | 45.30 |
| 14 | Herschelle Gibbs | South Africa | 1996-2010 | 248 | 8094 | 21 | 37 | 36.13 |
| 14 | Ross Taylor | New Zealand | 2006-2022 | 236 | 8607 | 21 | 51 | 47.55 |
| 16 | Babar Azam | Pakistan | 2015-2026 | 143 | 6626 | 20 | 38 | 53.43 |
| 16 | Shai Hope | West Indies | 2016-2026 | 157 | 6428 | 20 | 32 | 50.21 |
| 16 | Joe Root | England | 2013-2026 | 195 | 7903 | 20 | 48 | 50.66 |
| 16 | Saeed Anwar | Pakistan | 1989-2003 | 247 | 8824 | 20 | 43 | 39.21 |
| 20 | Mahela Jayawardene | Sri Lanka | 1998-2015 | 448 | 12650 | 19 | 77 | 33.37 |
| 20 | Brian Lara | West Indies | 1990-2007 | 299 | 10405 | 19 | 63 | 40.48 |
Virat Kohli’s 55
Kohli’s 50th came in the 2023 World Cup semi-final against New Zealand at the Wankhede on 15 November 2023, a 113-ball 117 on the day he went past Tendulkar. He has added five since: an unbeaten 100 against Pakistan at Dubai in February 2025, 135 and 102 against South Africa at Ranchi and Raipur in late 2025, 124 against New Zealand at Indore in January 2026, and 139 not out from 88 balls against West Indies at Thiruvananthapuram on 27 September 2026.
He also has the highest average of anyone on the list, 59.01, more than five clear of AB de Villiers. He tops both columns: no one on the list has more hundreds, and no one has a better average.
Sachin Tendulkar’s 49
Tendulkar held the record for a decade. He made 49 in 463 matches, 147 more than Kohli has played, and his 18,426 runs are still the most in ODI cricket by a distance.
The first of the 49 took a long time. He debuted against Pakistan in 1989 and did not reach three figures until 9 September 1994, when he made 110 from 130 balls against Australia at the R Premadasa Stadium in Colombo in the Singer World Series — his 79th one-day international. He then made two more before the year was out.
Most ODI centuries for India
India supply three of the top four in the world list and four of the 21.
| Rank | Player | Span | Mat | Runs | 100s | 50s | Ave |
|---|---|---|---|---|---|---|---|
| 1 | Virat Kohli | 2008-2026 | 316 | 15109 | 55 | 79 | 59.01 |
| 2 | Sachin Tendulkar | 1989-2012 | 463 | 18426 | 49 | 96 | 44.83 |
| 3 | Rohit Sharma | 2007-2026 | 290 | 12028 | 35 | 62 | 49.09 |
| 4 | Sourav Ganguly | 1992-2007 | 308 | 11221 | 22 | 71 | 40.95 |
| 5 | Shikhar Dhawan | 2010-2022 | 167 | 6793 | 17 | 39 | 44.11 |
| 6 | Virender Sehwag | 1999-2013 | 241 | 7995 | 15 | 37 | 35.37 |
| 7 | Yuvraj Singh | 2000-2017 | 301 | 8609 | 14 | 52 | 36.47 |
| 8 | Rahul Dravid | 1996-2011 | 340 | 10768 | 12 | 82 | 39.15 |
Sourav Ganguly’s matches and runs differ slightly between the two tables because three of his one-day internationals were played for the Asia XI rather than India. His hundred count, 22, is the same either way.
Who is still playing
Six of the 21 are still active: Kohli on 55, Rohit Sharma on 35, Quinton de Kock on 23, and Babar Azam, Shai Hope and Joe Root on 20 each. Rohit’s most recent was 101 against West Indies at Guwahati on 30 September 2026, three days after Kohli’s 55th.
Babar Azam has reached 20 in only 143 matches, fewer than anyone else on the list, and Hashim Amla’s 27 from 181 is the fewest matches of anyone who got past 25.
Most centuries in ODI cricket: quick answers
Who has scored the most centuries in ODI cricket? Virat Kohli, with 55.
How many ODI hundreds did Sachin Tendulkar score? 49, in 463 matches.
When did Kohli pass Tendulkar? On 15 November 2023, with his 50th, in the World Cup semi-final against New Zealand.
Who has the most ODI hundreds outside India? Ricky Ponting, with 30 for Australia.
Which non-India batter is closest among active players? Quinton de Kock, on 23.
See also our lists of the most runs in international cricket and the most ODI centuries for India.
Follow us on Telegram for the latest updates from the world of sports!
Interested in cricket betting? Click here to check out the list of top sites.
Featured photo: AFP / Munir uz Zaman





