Last verified: 6 November 2026 — All figures in this article are complete to 30 September 2026. Six of the players on this list are still active, so the numbers will keep moving. We re-check this list every quarter.
Key Takeaways
· Virat Kohli holds the record with 55 ODI centuries, six clear of Sachin Tendulkar's 49.
· The top three are all India batters — Kohli (55), Tendulkar (49) and Rohit Sharma (35).
· Kohli also has the best average on the list, 59.01, more than five runs clear of the next best. He tops both columns: most hundreds and best average.
· Six players on the list are still active: Kohli, Rohit, Quinton de Kock, Babar Azam, Shai Hope and Joe Root.
· Kohli's 55th century came on 27 September 2026 — an unbeaten 139 against West Indies at Thiruvananthapuram, in the same innings in which he crossed 15,000 ODI runs.
· Tendulkar's runs record still stands: 18,426 ODI runs, the most by a distance.
A century in a one-day international is still the format's gold standard. Fifty overs is long enough for a batter to build an innings and short enough that a hundred has to be earned at pace — there is no hiding in an ODI. That is why the list of players with the most ODI centuries reads like a hall of fame, and why the man at the top of it matters so much.
Right now, that man is Virat Kohli. He has 55 ODI hundreds, and he is still playing. The gap to second place is six centuries, which is a career's worth of hundreds for most good batters. But the list is not only about Kohli. It holds three generations of greats: the masters of the 1990s and 2000s who set the standard, the modern greats who chased them down, and the active players who are still climbing it.
This is a current-holder list, not a history piece. The numbers below are verified and complete to 30 September 2026, and we have stamped the date on them because active players change them. If you want the stories behind the numbers that will never change, read our guide to the 7 unbreakable cricket records — the milestones no one is ever likely to touch.
The Top 10 Right Now
Three things jump out of that table before you read a word of the detail. First, the top three are all Indian — no other country has more than one player in the top five. Second, Kohli made his 55 in 316 matches; Tendulkar needed 463 for his 49, which is 147 matches more. Third, the average column tells its own story: Kohli's 59.01 is not just the best on this list, it is the best by a wide margin, more than five runs clear of AB de Villiers in second place on that measure.
1. Virat Kohli — 55 and Counting
Virat Kohli has scored the most centuries in ODI cricket: 55. He passed Sachin Tendulkar's 49 at the 2023 World Cup, and he has added five more since — and he is still playing, so the record is not finished.
The moment he passed Tendulkar is already one of the most famous in the sport. It came in the 2023 World Cup semi-final against New Zealand at the Wankhede on 15 November 2023. Kohli made a 113-ball 117, his 50th ODI hundred, on the day he went past the record — with Tendulkar himself in the stands watching. It was the perfect stage: a World Cup semi-final, at home, against the team that had knocked India out of the previous World Cup.
The five centuries since then show how little he has slowed down:
· 100 not out against Pakistan, Dubai, February 2025 — a hundred in the biggest fixture in the sport, in a tournament setting.
· 135 and 102 against South Africa, Ranchi and Raipur, late 2025 — two hundreds in one series, both in winning causes.
· 124 against New Zealand, Indore, January 2026.
· 139 not out against West Indies, Thiruvananthapuram, 27 September 2026 — his 55th, from just 88 balls with nine sixes, in an eight-wicket win.
That 55th innings did two things at once. Kohli crossed 15,000 ODI runs in the same knock, becoming only the second man after Tendulkar to reach the mark — and the fastest ever to get there. His most recent ODI innings after that was 29 against West Indies at Guwahati on 30 September 2026.
Kohli turned 38 on 5 November 2026. He retired from Tests in May 2025 and from T20 internationals in June 2024, so he now plays one format. Every hundred he adds from here will be an ODI hundred, in the format whose record he already holds. The 2027 ODI World Cup is the obvious next target, and it is the one stage where a 56th, 57th or 58th hundred would carry the most weight.
His overall numbers are worth stating plainly. Across all international cricket he has 86 centuries — 30 in Tests, 55 in ODIs and one in T20Is. Only Tendulkar, on 100, has more. Kohli needs 14 more to join him, and with Tests and T20Is behind him, that chase now runs entirely through ODI cricket.
2. Sachin Tendulkar — 49, the Benchmark for a Decade
Sachin Tendulkar held the record for a decade. He made 49 ODI centuries in 463 matches, and his 18,426 runs are still the most in ODI cricket by a distance — more than 3,000 clear of Kohli in second place.
Tendulkar's record is often described as if it came easily. It did not. 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, and the floodgates never really closed again.
His 49 hundreds came across 23 years, in every condition, against every attack, and through three different eras of one-day cricket — the pre-powerplay years, the middle years, and the modern high-scoring era. He was also the first man to score a double century in ODIs, his unbeaten 200 against South Africa in 2010, and his last century, against Bangladesh in the 2012 Asia Cup, made him the only player with 100 international centuries.
Tendulkar's record stood for a decade because 49 was simply a huge number. Before Kohli, nobody else had even reached 35. The fact that Kohli needed 316 matches to pass a mark Tendulkar set in 463 tells you how much faster the modern game moves — and how much further ahead Tendulkar was than his own contemporaries.
For the full story of the records that sit above even this one — the milestones that may never fall at all — see our guide to the 7 unbreakable cricket records, where Tendulkar's 100 international centuries takes its place among them.
3. Rohit Sharma — 35, Still Adding
Rohit Sharma is third on the list with 35 ODI centuries, and he is still adding to the total. His most recent came on 30 September 2026 — 101 against West Indies at Guwahati, three days after Kohli's 55th. It was a neat piece of timing: the two men at the top of the active list scoring hundreds in the same series, three days apart.
Rohit's 35 have come in 290 matches at an average of 49.09, with 12,028 runs. What sets his hundreds apart is their size. He is the only man with three ODI double centuries, and his 264 against Sri Lanka remains the highest individual score in ODI history. When Rohit gets to a hundred, he often does not stop there — he turns it into something much bigger.
He is also the most recent of the great Indian ODI openers in a line that runs from Tendulkar through Sehwag and Ganguly. His role has always been different from Kohli's: Rohit sets the innings up from the top, Kohli finishes it from number three. Together, they have carried India's one-day batting for more than a decade, and the fact that two active players sit at first and third on the all-time list is something no other country can match.
Rohit is 39 now, and like Kohli he is an ODI specialist at this stage of his career. Every hundred he scores from here widens the gap to Ponting in fourth and cements third place as his own.
4. Ricky Ponting — 30, the Best Outside India
Ricky Ponting is the highest non-Indian on the list, with 30 ODI centuries for Australia in 375 matches between 1995 and 2012. He is also the most successful captain in the list's history, leading Australia to two World Cup titles in 2003 and 2007.
Ponting's hundreds were rarely the prettiest, but they were among the most ruthless. He scored them at a strike rate that belonged to a later era, pulling and cutting with a violence that defined Australian batting in the 2000s. His 30 hundreds came with 82 fifties and 13,704 runs at an average of 42.03, and a large share of them came in matches Australia won — Ponting's career coincided with the most dominant team one-day cricket has ever seen.
He is also the answer to a question this list raises naturally: who is the best ODI century-maker from outside India? The answer is Ponting, by two hundreds over Jayasuriya, and nobody active is close to catching him. The nearest active non-Indian is Quinton de Kock on 23, seven behind.
5. Sanath Jayasuriya — 28, the Original Aggressor
Sanath Jayasuriya scored 28 ODI centuries in 445 matches for Sri Lanka between 1989 and 2011, and his average of 32.36 is the lowest on this list by a distance. That number is misleading if you read it on its own. Jayasuriya did not play the same game as the others on this list — he invented a new one.
Before Jayasuriya, ODI openers treated the first 15 overs as a time to survive. He treated them as a time to attack, and his assault on the opening bowlers in the 1996 World Cup changed one-day batting permanently. Every pinch-hitter, every aggressive opener, every powerplay assault since then traces back to him. His 28 hundreds came at a strike rate and with an intent that the game had never seen, and they delivered Sri Lanka a World Cup in 1996.
He also played the most matches on this list — 445 — and scored 13,430 runs. Longevity was part of his record: he kept scoring hundreds for more than two decades, from the late 1980s to 2011, adapting his game as the format changed around him.
6. Hashim Amla — 27 in Just 181 Matches
Hashim Amla's 27 ODI centuries are remarkable for how quickly they came. He reached 27 in only 181 matches — the fewest matches of anyone who got past 25 on this list. Only Babar Azam, with 20 from 143 matches, reached a milestone faster.
Amla played ODIs for South Africa from 2008 to 2019, scoring 8,113 runs at an average of 49.46, the third-best average on the list behind Kohli and de Villiers. His batting was the opposite of Jayasuriya's: quiet, wristy, almost apologetic in its elegance, built on timing rather than power. He was also the fastest to several run milestones in ODI history, and his hundreds had a habit of coming in clusters — once he found form, he stayed in it for months.
Amla retired from international cricket in 2019, so 27 is his final number. It is a strange kind of record: a total that looks modest next to Kohli's 55, but was reached faster than anyone else's. Had he played 300 matches instead of 181, the list might look very different.
7. The 25 Club — de Villiers, Gayle, Sangakkara
Three players sit tied on 25 ODI centuries, and they could hardly be more different from each other.
AB de Villiers — 25
AB de Villiers scored 25 hundreds in 228 matches for South Africa between 2005 and 2018, at an average of 53.50 — the second-best average on this list, behind only Kohli. His was the most inventive batting the format has seen: the 360-degree hitting, the scoops and reverse sweeps, the fastest ODI century ever (31 balls against West Indies in 2015, which sits in our unbreakable records guide). De Villiers retired at 34, with years of cricket left in him, which is why 25 feels like an unfinished number. On ability alone, he could have reached 30 or more.
Chris Gayle — 25
Chris Gayle's 25 hundreds came in 301 matches for West Indies between 1999 and 2019, at an average of 37.83. Nobody on this list hit the ball harder or further. Gayle's hundreds were events — the Universe Boss clearing the ground with a regularity that made the extraordinary feel routine. His 25 includes some of the most destructive innings in ODI history, and his longevity across two decades of West Indies cricket, through its best and worst years, is a record in itself.
Kumar Sangakkara — 25
Kumar Sangakkara scored 25 hundreds in 404 matches for Sri Lanka between 2000 and 2015, with 14,234 runs — the third-most runs on this list — and 93 fifties, the second-most behind Tendulkar's 96. Sangakkara's hundreds were the most complete: technically perfect, tactically smart, and often made while keeping wicket for most of the opposition innings first. His four consecutive hundreds at the 2015 World Cup, at the end of his career, remain one of the great finishing runs in the sport.
10. Quinton de Kock — 23, the Next Active Chaser
Quinton de Kock is tenth on the list with 23 ODI centuries in 164 matches for South Africa, at an average of 45.84 — and he is still playing. That makes him the most important name in the lower half of this list, because he is the only active player outside the top three who can realistically climb it.
De Kock's hundreds have a particular flavour: many of them come in bursts, and several of his best have come in World Cups. He scored three hundreds at the 2023 World Cup alone, and his ability to dominate an attack from the first over makes him the closest thing South Africa has to a modern Jayasuriya with a keeper's gloves on.
The gap ahead of him is real, though. He is two hundreds behind the 25 club and seven behind Ponting in fourth. At his career rate — roughly a hundred every seven matches — he would need the best part of two full years of regular ODI cricket to reach 30. Whether he gets that cricket, and whether he stays in the format long enough, is the open question. For now, 23 is his number, and it is already enough for the top ten of all time.
Who Is Still Playing (and Who Can Climb)
Six of the 21 players with 19 or more ODI hundreds are still active. That is what makes this a living list rather than a museum piece:
· Virat Kohli — 55. The record holder, still scoring. Every hundred extends his own record.
· Rohit Sharma — 35. Third all time, still scoring. His next target is daylight between himself and Ponting's 30 — he already has it, by five.
· Quinton de Kock — 23. Tenth all time. The only active player who can realistically reach the 25 club and beyond.
· Babar Azam — 20. Sixteenth, from only 143 matches — the fewest matches of anyone on the whole list. If any active player has the rate to climb fast, it is Babar.
· Shai Hope — 20. Sixteenth, from 157 matches. West Indies' most reliable one-day batter of the modern era.
· Joe Root — 20. Sixteenth, from 195 matches. England's anchor, and the only Englishman on the list.
Just below the top ten, the rest of the top 20 reads like a second hall of fame: Tillakaratne Dilshan, Sourav Ganguly and David Warner on 22 each; Herschelle Gibbs and Ross Taylor on 21; and Mahela Jayawardene and Brian Lara on 19 each. Lara's presence at 19 is a reminder that ODI hundreds are not the only measure of greatness — he is one of the finest batters who ever lived, and he never made the top ten of this particular list.
The climber to watch is Babar Azam. Twenty hundreds in 143 matches is a faster rate than Kohli's at the same stage, and he is younger than everyone above him. If he plays another 100 ODIs at anything like his current rate, he will pass 30 and enter the top four. The question is not whether he can, but whether Pakistan play enough ODI cricket, and whether he stays fit and in form long enough. You can follow the next ODI action on our live cricket scores page, where every active player's next hundred is one innings away.
The 2027 ODI World Cup will be the biggest stage for movement on this list. Kohli has already pointed at it as his target, and a World Cup is where hundreds come in clusters — Tendulkar made six in 2011, de Kock made three in 2023. Tournament cricket also brings the calculators out: when rain interrupts a chase or a group table tightens, our DLS target calculator and net run rate calculator tell you exactly what a team needs.
What Makes Kohli's Record Different
It is easy to say Kohli has the most ODI centuries and leave it there. The record is more interesting than the headline number, for four reasons.
First, the average. Kohli's 59.01 is the highest on the list by more than five runs. Nobody else combined volume and consistency like this. Tendulkar averaged 44.83 across his 49 hundreds; Ponting 42.03; Jayasuriya 32.36. Kohli is not just the most frequent century-maker — he is the most reliable batter on the list, by a clear margin.
Second, the chases. Kohli has 30 centuries in ODI run-chases, the most by any batter, with 8,741 chase runs at an average of 66.21. Hundreds in chases are harder than hundreds batting first: the target is fixed, the pressure grows with every dot ball, and the match is usually won or lost on your innings. Kohli's record is built disproportionately on the hardest kind of hundred.
Third, the wins. Forty-five of Kohli's 55 hundreds have come in winning causes. Tendulkar is a distant second on that measure with 33. A century that wins the match is worth more than one that does not, and Kohli's hundreds have decided more matches than anyone else's.
Fourth, the speed of the record. Tendulkar's 49 took 463 matches. Kohli passed it in his 293rd. He also reached 15,000 ODI runs faster than anyone in history, doing it in the same innings as his 55th hundred. The record is not just bigger — it was built faster, against better bowling, in a more demanding era of the format.
There is one more thing worth saying plainly. Kohli is 38, and he plays one format now. The record will keep growing while he plays, but it will stop the day he stops. That is what makes this a Type A list: the numbers are current, they are verified to 30 September 2026, and they will change. We will re-check them every quarter, and the "Last verified" date at the top of this article will tell you when we last did.
FAQs
Who has scored the most centuries in ODI cricket?
Virat Kohli, with 55 ODI centuries — the most by any batter in the format. He passed Sachin Tendulkar's 49 during the 2023 World Cup semi-final against New Zealand on 15 November 2023.
How many ODI hundreds did Sachin Tendulkar score?
49, in 463 matches between 1989 and 2012. His 18,426 ODI runs remain the most by any batter.
When did Kohli pass Tendulkar?
On 15 November 2023, with his 50th ODI hundred — a 113-ball 117 in the World Cup semi-final against New Zealand at the Wankhede in Mumbai. Tendulkar was in the stands.
Who has the most ODI centuries among active players?
Virat Kohli (55), followed by Rohit Sharma (35) and Quinton de Kock (23). Babar Azam, Shai Hope and Joe Root are all on 20.
Who has the most ODI hundreds outside India?
Ricky Ponting, with 30 for Australia. The closest active non-Indian batter is Quinton de Kock on 23.
Can anyone catch Kohli's 55?
Not soon. Rohit Sharma, the nearest active player, is 20 behind on 35. Babar Azam has the best rate of the younger players — 20 hundreds in 143 matches — but would need several more years at his current pace to get near 55.
How many international centuries does Kohli have in total?
86 — 30 in Tests, 55 in ODIs and one in T20Is. Only Sachin Tendulkar, on 100, has more. Kohli needs 14 more to join him, and since he has retired from Tests and T20Is, every hundred from here will be an ODI.
Figures complete to 30 September 2026. Last verified: 6 November 2026. Sources: ESPNcricinfo via SportsAdda.
