
Virat Kohli smashed his 51st ODI ton recently, becoming the first batter to score hundreds in each of the ten countries he has played in. We have ranked each of the centuries, in order of impact and importance.
First, there was Sachin Tendulkar. Now, there is Virat Kohli. The two most high-profile mentor-mentee pairing makes up ODI cricket's top two greatest century-makers. When Kohli went past Tendulkar at the 2023 ODI World Cup, an achievement that once looked unsurmountable had been completed.
The only player to hit 50+ ODI hundreds, Kohli has several one-day records to his name, including being the fastest to 8000, 9000 (and so on) until 14,000 ODI runs. As captain alone, Kohli hit 21 centuries, two of which were 150+ scores (both unbeaten).
Currently among the top-three run-getters in ODIs, Kohli reached 14,000 runs with his 51st century, against Pakistan at the 2025 ICC Champions Trophy.
It's a long, long list, but here's a compilation of his ODI hundreds, ranked from worst to best.
51. 115 vs Zimbabwe, Harare, 2013
As stand-in captain, Kohli led from the front with a stylish 108-ball 115 in a chase of 230. There was not much challenge from the opposition though, letting him dictate the pace on a placid Harare wicket.
50. 114* vs West Indies, Port of Spain, 2019
Combining with Shreyas Iyer for a 120-run stand, Kohli’s unbeaten 114 off 99 balls guided India to a chase, controlling the middle overs well. Incidentally, it was Chris Gayle's final ODI.
49. 117 vs West Indies, Visakhapatnam, 2011
Batting at four, a young Kohli’s 123-ball 117 helped them chase down 270, with help from then middle-order batter Rohit Sharma's 90.
48. 103* vs Bangladesh, Pune, 2023
A smooth chase in the World Cup where Kohli barely broke a sweat, at that point their fourth in a row.
47. 111* vs West Indies, Kingston, 2017
Yet another hundred during his peak years as a batter, making short work of a 206-run chase. It was his 18th hundred in a chase, going past Sachin Tendulkar.
46. 113 vs Sri Lanka, Guwahati, 2023
After a drought of three years, this was Kohli’s second hundred in as many innings, batting until the 49th over.
45. 105 vs New Zealand, Guwahati, 2010
His fourth ODI ton, Kohli’s growing consistency at No.3 cemented his place in the team. After a string of low scores, he had now hit two centuries in a row.
44. 128* vs Sri Lanka, Colombo, 2012
India needed to chase 252 and lost quick wickets again before Kohli steadied the ship alongside Suresh Raina and took the team home.
43. 107 vs West Indies, Pune, 2018
Despite India losing wickets at regular intervals, Kohli stood firm, scoring a gritty 107 off 119 balls. His knock was filled with well-timed shots, but India fell short in the chase.
42. 120 vs West Indies, Port of Spain, 2019
Another elegant century against West Indies, anchoring India’s innings. He said he was "tired" around the 60-65 mark, but kept pushing on.
41. 106 vs Sri Lanka, Hambantota, 2012
On a sluggish pitch, Kohli crafted 106 off 113 balls. It was his third ton against Sri Lanka in just five months, with this knock solidifying his reputation as their tormentor.
40. 140 vs West Indies, Guwahati, 2018
A fluent 140 off 107 balls saw Kohli toy with the West Indies attack. He dictated the chase from the start, playing a mix of classical and power-hitting strokes to guide India home.
39. 136 vs Bangladesh, Fatullah, 2014
In another clinical chase, Kohli’s 122-ball 136 was a perfect example of pacing an innings. He rotated the strike early before cutting loose, hitting 16 boundaries and two sixes.
38. 110* vs Sri Lanka, Colombo, 2017
One more measured innings, his 30th ODI hundred, levelling with Ricky Ponting for the second-most in the format's history.
37. 139* vs Sri Lanka, Ranchi, 2014
A tricky chase saw Kohli play the perfect captain’s knock, anchoring India to victory with an unbeaten 139 off 126 balls after his team had slipped to 14-2. He batted at four instead of three, his usual position.
36. 112* vs England, Delhi, 2011
Chasing 238, Kohli once again proved his chasing prowess early on in his career, putting together a massive, unbeaten 209-run stand with Gautam Gambhir.
35. 102 vs West Indies, Port of Spain, 2013
Dominating both pace and spin, Kohli constructed his knock patiently before accelerating, eventually ensuring a bonus point in the tri-nation series. His efforts helped India reach a competitive 311, falling off the final ball of the innings.
34. 108 vs Sri Lanka, Mirpur, 2012
Sandwiched between his Hobart heroics and the Pakistan masterclass, Kohli shone in yet another chase. He put on a 205-run stand with Gambhir.
33. 100* vs Bangladesh, Mirpur, 2011
A dream start to his World Cup career, Kohli’s 100* came off just 83 balls. Walking in at 152-2, he played second fiddle to Sehwag before accelerating post his fifty, also becoming the first Indian with a century on his World Cup debut.
32. 113 vs Bangladesh, Chattogram, 2022
Kohli’s first ODI ton after a three-year wait. Timing the ball beautifully, he found the gaps with ease and finished with a flourish. it took him past Ricky Ponting's tally of international hundreds, placing him in second place.
31. 102* vs Bangladesh, Mirpur, 2010
His second ODI ton, Kohli played a composed yet aggressive knock, reaching his century off 95 balls as his unbeaten knock ensured India’s comfortable six-wicket win. His ability to pace the chase, a hallmark of his career, was already evident.
30. 107 vs Pakistan, Adelaide, 2015
On the big stage of the 2015 World Cup, Kohli delivered, compiling a solid 107 off 126 balls against arch-rivals Pakistan. His controlled innings, with eight boundaries, helped India post a match-winning 300.
29. 127 vs West Indies, Dharamsala, 2014
A classic ODI innings where Kohli looked solid and ruthless. He set up a strong total of 330 for India, which was 59 runs too many for the opposition.
28. 100* vs Pakistan, Dubai, 2025
A ton after 15 months, Kohli’s unbeaten 100 against Pakistan was a statement of his unwavering class. He battled spin effortlessly and got to the landmark with the last shot of the game.
27. 122* vs Pakistan, Colombo, 2023
Against arch-rivals Pakistan, Kohli was unstoppable in the Asia Cup, crafting a flawless 122* off 94 balls. Batting on reserve day, his expert pacing of the innings took India to an imposing total, and end up with a thumping 228-run win.
26. 129* vs South Africa, Centurion, 2018
Chasing a paltry 205, Kohli was in complete control, stroking a sublime 129* as India wrapped up the series 5-1 in dominant fashion.
25. 113 vs New Zealand, Kanpur, 2017
India posted a huge total of 337-6, led by the efforts of Rohit Sharma and Kohli. After Shikhar Dhawan fell early, the two combined to take the score to 259. Kohli’s hundred was overshadowed by Rohit's 147, but it was crucial nonetheless as India edged ahead by just six runs.
24. 117 vs Australia, Melbourne, 2016
Kohli withstood a fiery spell from John Hastings as he stood tall for a run-a-ball 117. However, India lost four wickets for 45 runs as they could only post 295 despite his efforts.
23. 106 vs Australia, Canberra, 2016
India had already lost the series but the fourth ODI was an opportunity to end the series on a high. Kohli’s 92-ball 106 kept India in the hunt in the massive run chase of 349, but an unexpected collapse saw India fall well short.
22. 166* vs Sri Lanka, Thiruvananthapuram, 2023
A scintillating 166* off 110 balls saw Kohli at his destructive best as he dismantled the Sri Lankan bowling. With the knock, he became the fifth-highest ODI run-getter.
21. 112 vs South Africa, Durban, 2018
On South African soil, Kohli made a challenging chase of 270 look easy, compiling 112 off 119 balls. Taking the game deep, he steered India to victory with calculated aggression.
20. 131 vs Sri Lanka, Colombo, 2017
Kohli made 131 off just 96 balls as he took Sri Lanka’s attack apart. His dominant knock, laced with 17 fours and 2 sixes, set up India’s massive total of 375.
19. 118 vs Australia, Visakhapatnam, 2010
Kohli’s first ton against Australia. India were 35-2 in a run chase of 290 before Kohli went about anchoring the innings to perfection. He struck 11 fours and a six as India won by five wickets.
18. 116 vs Australia, Nagpur, 2019
On a testing pitch, Kohli anchored India's innings with a 120-ball knock, laced with 10 fours. His century laid the foundation for India's competitive total of 250, which proved enough as the bowlers secured an eight-run victory.
17. 101* vs South Africa, 2023
Kohli equalled Sachin Tendulkar’s record with a century on a challenging wicket in the 2023 World Cup. On his 35th birthday, he gifted himself, and the City of Joy, a memory for the ages.
16. 123 vs Australia, Ranchi, 2019
In another chase, Kohli played a lone hand with a commanding 123 off 95 balls. No other player from India made more than 35 as they fell 32 short of the target of 314.
15. 121 vs New Zealand, Mumbai, 2017
On a sluggish Mumbai pitch, Kohli dug deep for his 125-ball 121, once again being the only India batter who stood out. Battling New Zealand’s disciplined attack, he mixed caution with aggression but despite his best efforts, India’s total wasn’t enough to seal the win.
14. 157* vs West Indies, Visakhapatnam, 2018
Unstoppable, Kohli notched an unbeaten 157 off 129 balls. Milking the spinners and punishing the pacers, he once again anchored India to a commanding total. The match ended in a tie.
13. 154* vs New Zealand, Mohali, 2016
Yet another fine knock as India were 41-2 in a run chase of 286. He struck an unbeaten 154, seeing the side through with ten balls to spare.
12. 107 vs England, Cardiff, 2011
His first ton outside Asia, Kohli’s stroke play shone as he registered 107 off 93 balls. However, his unusual hit-wicket dismissal marked a strange end to an otherwise fluent knock.
11. 104 vs Australia, Adelaide, 2019
In a chase of 299, Kohli’s 112-ball 104 was a mix of aggression and patience. His calculated assault on Australia’s attack kept India in the hunt before MS Dhoni finished the job.
10. 123 vs New Zealand, Napier, 2014
Kohli anchored India’s pursuit of 293 with fluency, stroking 11 fours and 2 sixes. He kept India in the hunt, but a lack of support from the middle order led to a 24-run loss despite his brilliance. He had also become just the fourth Indian with an ODI hundred in New Zealand.
9. 107 vs Sri Lanka, Kolkata, 2009
At just 21, Kohli notched his maiden ODI ton in a record 224-run stand with Gautam Gambhir. Chasing 316 and after India collapsed to 23-2, he played with maturity beyond his years, timing the ball sweetly and rotating the strike with ease. His 114-ball knock announced him as India’s future batting mainstay.
8. 138 vs South Africa, Chennai, 2015
On a slow Chepauk track, Kohli crafted an exquisite 138, taking India to a fighting total of 299. His footwork against spin was the highlight.
7. 122 vs England, Pune, 2017
With India chasing 351, Kohli played an audacious knock of 122 off 105 balls, finding support from Kedar Jadhav. His array of strokes stunned England’s attack.
6. 117 vs New Zealand, Mumbai, 2023
In the World Cup semi-final, Kohli’s 113-ball 117 was pure class. He soaked up pressure, played risk-free cricket and surpassed his idol Sachin Tendulkar’s tally of most ODI tons, notching up his 50th in the format. It marked the end of a stellar tournament for the batter.
5. 160* vs South Africa, Cape Town, 2018
On a difficult Newlands surface, Kohli stood tall while others struggled, making 160* off 159 balls. He scored more than half of India's total of 303, in an innings where only one other batter crossed 20.
4. 115* vs Australia, Nagpur 2013
Another chase, another Kohli masterclass. Needing 351, he crafted an unbeaten 115 off just 66 balls, controlling the innings with precision. He smashed 18 boundaries and a six, ensuring India reached the target with ease.
3. 100* vs Australia, Jaipur, 2013
Kohli smashed a century off just 52 balls, which remains the fastest ODI ton by an India batter. While Rohit Sharma stole the show, Kohli’s quick innings helped in making a mockery of a 360-run chase.
2. 183 vs Pakistan, Mirpur, 2012
One of Kohli’s finest knocks in ODIs, his 183 off 148 balls against Pakistan in the Asia Cup was a masterclass in chasing. India were 0-1 in pursuit of 330 when he took charge, dismantling Pakistan’s attack with stunning cover drives and effortless flicks. His 22 fours and one six ensured India cruised home with 13 balls to spare.
1. 133* vs Sri Lanka, Hobart, 2012
Not his highest score but arguably his finest ODI knock ever, this one came in a must-win match, where India needed to chase 321 in just 40 overs at Hobart to qualify for the tri-series final. He dismantled Lasith Malinga, smashing him for boundaries at will, and guiding India to an astonishing victory with 80 balls to spare. His ninth ODI ton, it was the turning point in his career.
Follow Wisden for all cricket updates, including live scores, match stats, quizzes and more. Stay up to date with the latest cricket news, player updates, team standings, match highlights, video analysis and live match odds.