Virat Kohli’s ODI centuries read like chapters of modern cricket history. Each ton carried context, drama, and unforgettable finishing shots. Fans recall not only runs, but moments and heart-stopping chase scenes. This catalogue lists his ODI hundreds with detail and fan-first commentary.
Kohli began as a hungry youngster and grew into a chase machine. Early hundreds announced intent and hinted at a relentless scoring hunger. Mid-career centuries built records and broke long-standing batting landmarks. Recent tons showed resurgence and maturity after a long scoring pause.
We group Kohli’s ODI hundreds into clear eras for fans to follow. Each era highlights important knocks and the reasons they mattered. You will find classic chases, milestone hundreds and tournament-winning knocks. Read on for celebration, context, and the moments that made fans roar.
This piece links to deeper timelines for readers who want more detail. See the India vs Bangladesh timeline for key encounters and context. Every entry here pulls from the match notes you provided earlier. Fans will find commentary, memories, and why these tons still matter.
EARLY RISE: FIRST HUNDREDS AND BREAKTHROUGH WORK (2009–2013)
Kohli’s first ODI century arrived in December 2009 at Eden Gardens. He chased 316 with Gautam Gambhir and announced his chase instinct. This ton showed hunger and composure beyond his tender age. Fans felt a future superstar take shape under Eden Gardens lights.
Soon after, Kohli completed a quick 102 not out against Bangladesh. He finished the chase and displayed early maturity as a finisher. October 2010 saw Kohli fight cramps to make 102 in Australia. He used a runner and grit to shepherd India past 290.
By November 2010, Kohli added a composed 105 in Guwahati while batting first. His technique against pace and spin began to look complete and adaptable. The 2011 World Cup saw him make an unbeaten 100 against Bangladesh. That ton set tournament tone and confirmed his big-match temperament.
In Cardiff and Delhi he produced hunger-filled centuries during 2011. A 93-ball 107 showed fight despite team struggles in England. An unbeaten 112 at home reinforced his growing status as run-maker. These early hundreds built form and taught Kohli how to finish chases.
DOMINANCE, RECORDS AND MASTERCLASSES (2014–2019)
Kohli kept piling runs and milestones through these peak years. He became fastest to 6000 ODI runs and then to 7000 runs. A 139* in Ranchi and other chases made him India’s go-to batter. He often anchored huge partnerships and converted starts into centuries.
The Hobart masterpiece against Sri Lanka remains a beloved chase. He hunted 321 and finished the job inside thirty-seven overs. He even took on Lasith Malinga in a single over of fury. Fans still replay that over and the masterclass around it today.
The 2017 South Africa tour produced 558 runs and three centuries overall. He completed the set by scoring ODI tons in every country played. His unbeaten 160 in Cape Town also stood out for sheer endurance. Kohli’s chase records, partnerships and consistency marked a dominant era.
He equalled Ricky Ponting’s tally of thirty ODI tons in fast time. A 110* in Colombo highlighted his cold-blooded ability to finish chases. These years showed Kohli’s transition from star to batting colossus. Each century added proof to a legacy built on hunger and skill.
Virat Kohli: Every ODI Century of His Career — A Complete Catalogue
Virat Kohli’s ODI centuries form one of cricket’s greatest batting timelines. Each ton came with its own story: a chase mastered, a milestone crossed, or an opposition crushed. From Eden Gardens in 2009 to Raipur in 2025, Kohli built a career defined by consistency, pressure-handling, and near-perfect ODI technique. This article compiles every ODI century from the list you provided, structured neatly and written for fans who love reliving each iconic moment.
1️⃣ 107 vs Sri Lanka (Dec 24, 2009, Kolkata)
Kohli’s maiden ODI century came in a big chase of 316. He and Gambhir both scored tons to seal a memorable win at Eden Gardens.
2️⃣ 102 vs Bangladesh (Jan 2010)*
Showed maturity beyond his age. Finished the chase himself and stayed unbeaten.
3️⃣ 118 vs Australia (Oct 2010)
Played through cramps with the help of a runner. Helped India chase 290 efficiently.
4️⃣ 105 vs New Zealand (Nov 2010, Guwahati)
First ODI hundred while batting first. Anchored India to a strong total.
5️⃣ 100 vs Bangladesh (2011 World Cup opener)*
His only hundred of the 2011 World Cup. Finished an 83-ball century with Sehwag dominating at the top.
6️⃣ 107 vs England (2011, Cardiff)
One of India’s few bright moments in a difficult England tour.
7️⃣ 112 vs England (Oct 2011, Delhi)*
A chanceless home hundred in a 5–0 sweep for India.
8️⃣ 117 vs West Indies (Dec 2011, Vizag)
Part of a 163-run stand with Rohit Sharma.
9️⃣ 133 vs Sri Lanka (Hobart 2012)*
A career-defining masterpiece. Chased 321 inside 37 overs. Destroyed Malinga with 24 runs in one over.
🔟 108 vs Sri Lanka (Asia Cup 2012, Mirpur)
Another SL hundred, this time batting first with Gambhir for a 205-run stand.
1️⃣1️⃣ 183 vs Pakistan (Asia Cup 2012, Mirpur)
His highest ODI score. A legendary chase of 330. One of his greatest ever knocks.
1️⃣2️⃣ 106 vs Sri Lanka (2012, Hambantota)
His third consecutive ton vs Sri Lanka.
1️⃣3️⃣ 128 vs Sri Lanka (2012, Colombo)*
A mature chase that sealed the series. Player of the Series.
1️⃣4️⃣ 102 vs West Indies (Jul 2013, Port-of-Spain)
Ended a one-year century gap. A blistering stroke-filled innings.
1️⃣5️⃣ 115 vs Zimbabwe (2013, Harare)
First ODI ton vs Zimbabwe. Came while captaining a young side.
1️⃣6️⃣ 100 vs Australia (Oct 2013, Jaipur)*
Fastest ODI century by an Indian (52 balls). Chased 360 with Rohit’s 141*.
1️⃣7️⃣ 115 vs Australia (Oct 2013, Nagpur)*
Another chase of 350+ made easy. Dominated the middle overs.
1️⃣8️⃣ 123 vs New Zealand (Jan 2014, Napier)
A brilliant century in a losing chase. India collapsed after his dismissal.
1️⃣9️⃣ 136 vs Bangladesh (Feb 2014, Asia Cup)
Another chase masterclass. By then he had equaled Brian Lara’s century tally.
2️⃣0️⃣ 127 vs West Indies (Oct 2014, Dharamsala)
An innings overshadowed by off-field drama on the WI tour.
2️⃣1️⃣ 139 vs Sri Lanka (Nov 2014, Ranchi)*
Became fastest to 6000 ODI runs during this series.
2️⃣2️⃣ 107 vs Pakistan (2015 World Cup, Adelaide)
A classic World Cup knock. Preserved India’s perfect WC record versus Pakistan.
2️⃣3️⃣ 138 vs South Africa (Oct 2015, Chennai)
A powerful hundred in tough conditions. His first ODI ton vs South Africa.
2️⃣4️⃣ 117 vs Australia (Jan 2016, MCG)
Fastest to 7000 ODI runs. Another perfect anchor knock.
2️⃣5️⃣ 106 vs Australia (Jan 2016, Canberra)
Part of a 212-run stand with Dhawan, but India collapsed later.
2️⃣6️⃣ 154 vs New Zealand (Oct 2016, Mohali)*
One of his best. Took Boult apart and raised his chase average above 90.
2️⃣7️⃣ 122 vs England (Jan 2017, Pune)
First match as full-time ODI captain. A blistering chase setup.
2️⃣8️⃣ 111 vs West Indies (Jul 2017, Kingston)*
A statement innings against the short ball after previous struggles.
2️⃣9️⃣ 131 vs Sri Lanka (2017, Colombo)
Along with Rohit, punished SL again. India racked up 375.
3️⃣0️⃣ 110 vs Sri Lanka (Sep 2017, Colombo)*
Equalled Ricky Ponting’s 30 ODI centuries in just 186 innings.
3️⃣1️⃣ 121 vs New Zealand (Oct 2017, Mumbai – 200th ODI)
Marked his 200th ODI with style. Came in a losing cause.
3️⃣2️⃣ 113 vs Sri Lanka (Dec 2017, Lucknow)
Part of a 230-run opening stand with Rohit.
3️⃣3️⃣ 112 vs South Africa (Feb 2018, Durban)
Completed the set: ODI century in every country he played in.
3️⃣4️⃣ 160 vs South Africa (Feb 2018, Cape Town)*
Ran 100 of his runs — a physical masterpiece.
3️⃣5️⃣ 129 vs South Africa (Feb 2018, Centurion)*
Made 68% of his runs in boundaries.
3️⃣6️⃣ 140 vs West Indies (Oct 2018, Guwahati)
One of the easiest chases of his captaincy era.
3️⃣7️⃣ 157 vs West Indies (Oct 2018, Vizag)*
Reached 10,000 ODI runs in just 205 innings — fastest ever.
3️⃣8️⃣ 107 vs West Indies (Oct 2018, Pune)
Three consecutive ODI hundreds. India lost despite his heroics.
3️⃣9️⃣ 104 vs Australia (Jan 2019, Adelaide)
Set up a thrilling chase before Dhoni finished the job.
4️⃣0️⃣ 116 vs Australia (Mar 2019, Nagpur)
Helped India to their 500th ODI win.
4️⃣1️⃣ 123 vs Australia (Mar 2019, Ranchi)
Another lone-warrior innings. India fell short.
4️⃣2️⃣ 120 vs West Indies (Aug 2019, Trinidad)
Ended an 11-game ton drought. Climbed to eighth on ODI runs list.
4️⃣3️⃣ 144 vs West Indies (Aug 2019, Port of Spain)*
Two tons in three days. Then began a long century drought.
4️⃣4️⃣ 113 vs Bangladesh (Dec 2022)
Ended his long wait for an ODI century. Kishan stole the show with a 210.
4️⃣5️⃣ 113 vs Sri Lanka (Jan 2023, Guwahati)
Restarted the flow. A fireworks-filled innings.
4️⃣6️⃣ 166 vs Sri Lanka (Jan 2023, Thiruvananthapuram)*
India’s biggest ODI win ever. Kohli’s 21st ODI ton at home.
4️⃣7️⃣ 122 vs Pakistan (2023 Asia Cup)*
Accelerated from 88 to 122 in four overs. Finished with 4,4,6.
4️⃣8️⃣ 103 vs Bangladesh (2023 World Cup)*
A race between his century and India’s victory. Finished with a big six.
4️⃣9️⃣ 101 vs South Africa (Kolkata, 2023 World Cup)
Equalled Sachin’s 49 ODI tons. On his 35th birthday.
5️⃣0️⃣ 117 vs New Zealand (2023 World Cup semifinal)
The historic No. 50. Sachin applauded from the stands.
5️⃣1️⃣ 100 vs Pakistan (Champions Trophy 2025)*
A clutch knock after a year without a ton.
5️⃣2️⃣ 107 vs South Africa (Ranchi 2025, 1st ODI)
A statement hundred after a slow start to the season.
5️⃣3️⃣ 102 vs South Africa (Raipur 2025, 2nd ODI)
His 11th instance of back-to-back ODI centuries. Part of a 195-run stand with Gaikwad.This list captures not just runs, but eras of Kohli’s career — the fearless kid, the chase machine, the record breaker, the comeback king. Few players in history have produced so many memorable ODI centuries with such consistency and impact.




