Virat Kohli has etched his name into cricket history as one of the sport’s greatest batsmen, scoring 85 international centuries across all formats as of January 2026. This milestone places him second only to Sachin Tendulkar’s 100 international centuries, a record that once seemed untouchable.
Kohli’s journey to greatness is far more than just a collection of impressive numbers. It is a career built on consistency, adaptability, and an unrelenting hunger for runs across every format of the game.
How Many Centuries has Virat Kohli Scored in ODIs?
Kohli’s biggest impact has come in One Day International cricket, where he holds an unassailable record: 54 ODI centuries, surpassing the legendary Sachin Tendulkar’s 49 centuries.
His most recent ODI century came on January 18, 2026, against New Zealand in the third ODI at Indore, where he scored 124 off 91 balls with eight fours and two sixes while chasing 337 runs. With this knock, Kohli became the leading ton-scorer against New Zealand with seven ODI hundreds, surpassing cricket legends Ricky Ponting and Virender Sehwag.
Kohli averages 65.5 runs when chasing compared to 51.7 when batting first. He has scored 28 of his 54 ODI centuries in run-chases, the most by any batsman in the history of the format. In December 2025, he recorded consecutive centuries against South Africa: 135 in Ranchi and 102 in Raipur. It was the 11th instance of back-to-back ODI centuries in Kohli’s career, an unprecedented record. AB de Villiers, regarded as one of ODI cricket’s most explosive batsmen, achieved this feat only six times.
Among his 54 ODI centuries, Kohli has scored centuries in 34 different venues, a record he shares with Sachin Tendulkar.
Complete List of List of Virat Kohli’s ODI Centuries
| No | Runs | Opponent | Venue | Date |
|---|---|---|---|---|
| 1 | 107 | Sri Lanka | Eden Gardens, Kolkata | 24 Dec 2009 |
| 2 | 102* | Bangladesh | Sher-e-Bangla Stadium, Dhaka | 11 Jan 2010 |
| 3 | 118 | Australia | ACA–VDCA Cricket Stadium, Visakhapatnam | 20 Oct 2010 |
| 4 | 105 | New Zealand | Nehru Stadium, Guwahati | 28 Nov 2010 |
| 5 | 100* | Bangladesh | Sher-e-Bangla Stadium, Dhaka | 19 Feb 2011 |
| 6 | 107 | England | Sophia Gardens, Cardiff | 16 Sep 2011 |
| 7 | 112* | England | Feroz Shah Kotla Ground, Delhi | 17 Oct 2011 |
| 8 | 117 | West Indies | ACA–VDCA Cricket Stadium, Visakhapatnam | 2 Dec 2011 |
| 9 | 133* | Sri Lanka | Bellerive Oval, Hobart | 28 Feb 2012 |
| 10 | 108 | Sri Lanka | Sher-e-Bangla Stadium, Dhaka | 13 Mar 2012 |
| 11 | 183 | Pakistan | Sher-e-Bangla Stadium, Dhaka | 18 Mar 2012 |
| 12 | 106 | Sri Lanka | MRIC Stadium, Hambantota | 21 Jul 2012 |
| 13 | 128* | Sri Lanka | R. Premadasa Stadium, Colombo | 31 Jul 2012 |
| 14 | 102 | West Indies | Queen’s Park Oval, Port of Spain | 5 Jul 2013 |
| 15 | 115 | Zimbabwe | Harare Sports Club, Harare | 24 Jul 2013 |
| 16 | 100* | Australia | Sawai Mansingh Stadium, Jaipur | 16 Oct 2013 |
| 17 | 115* | Australia | VCA Stadium, Nagpur | 30 Oct 2013 |
| 18 | 123 | New Zealand | McLean Park, Napier | 19 Jan 2014 |
| 19 | 136 | Bangladesh | Khan Shaheb Osman Ali Stadium, Fatullah | 26 Feb 2014 |
| 20 | 127 | West Indies | HPCA Stadium, Dharamshala | 17 Oct 2014 |
| 21 | 139* | Sri Lanka | JSCA Stadium, Ranchi | 16 Nov 2014 |
| 22 | 107 | Pakistan | Adelaide Oval, Adelaide | 15 Feb 2015 |
| 23 | 138 | South Africa | M. A. Chidambaram Stadium, Chennai | 22 Oct 2015 |
| 24 | 117 | Australia | Melbourne Cricket Ground, Melbourne | 17 Jan 2016 |
| 25 | 106 | Australia | Manuka Oval, Canberra | 20 Jan 2016 |
| 26 | 154* | New Zealand | IS Bindra Stadium, Mohali | 23 Oct 2016 |
| 27 | 122 | England | Maharashtra Cricket Association Stadium, Pune | 15 Jan 2017 |
| 28 | 111* | West Indies | Sabina Park, Kingston | 6 Jul 2017 |
| 29 | 131 | Sri Lanka | R. Premadasa Stadium, Colombo | 31 Aug 2017 |
| 30 | 110* | Sri Lanka | R. Premadasa Stadium, Colombo | 3 Sep 2017 |
| 31 | 121 | New Zealand | Wankhede Stadium, Mumbai | 22 Oct 2017 |
| 32 | 113 | New Zealand | Green Park Stadium, Kanpur | 29 Oct 2017 |
| 33 | 112 | South Africa | Kingsmead Cricket Ground, Durban | 1 Feb 2018 |
| 34 | 160* | South Africa | Newlands Cricket Ground, Cape Town | 7 Feb 2018 |
| 35 | 129* | South Africa | SuperSport Park, Centurion | 16 Feb 2018 |
| 36 | 140 | West Indies | ACA Stadium, Guwahati | 21 Oct 2018 |
| 37 | 157* | West Indies | ACA–VDCA Cricket Stadium, Visakhapatnam | 24 Oct 2018 |
| 38 | 107 | West Indies | Maharashtra Cricket Association Stadium, Pune | 27 Oct 2018 |
| 39 | 104 | Australia | Adelaide Oval, Adelaide | 15 Jan 2019 |
| 40 | 116 | Australia | Vidarbha Cricket Association Stadium, Nagpur | 5 Mar 2019 |
| 41 | 123 | Australia | JSCA Stadium, Ranchi | 8 Mar 2019 |
| 42 | 120 | West Indies | Queen’s Park Oval, Port of Spain | 11 Aug 2019 |
| 43 | 114* | West Indies | Queen’s Park Oval, Port of Spain | 14 Aug 2019 |
| 44 | 113 | Bangladesh | Zohur Ahmed Chowdhury Stadium, Chittagong | 10 Dec 2022 |
| 45 | 113 | Sri Lanka | ACA Stadium, Guwahati | 10 Jan 2023 |
| 46 | 166* | Sri Lanka | Greenfield International Stadium, Thiruvananthapuram | 15 Jan 2023 |
| 47 | 122* | Pakistan | R. Premadasa Stadium, Colombo | 10 Sep 2023 |
| 48 | 103* | Bangladesh | Maharashtra Cricket Association Stadium, Pune | 19 Oct 2023 |
| 49 | 101* | South Africa | Eden Gardens, Kolkata | 5 Nov 2023 |
| 50 | 117 | New Zealand | Wankhede Stadium, Mumbai | 15 Nov 2023 |
| 51 | 100* | Pakistan | Dubai International Cricket Stadium, Dubai | 23 Feb 2025 |
| 52 | 135 | South Africa | JSCA International Stadium Complex, Ranchi | 30 Nov 2025 |
| 53 | 102 | South Africa | Shaheed Veer Narayan Singh International Stadium, Nava Raipur | 3 Dec 2025 |
| 54 | 124 | New Zealand | Holkar Stadium, Indore | 18 Jan 2026 |
How Many Centuries has Virat Kohli Scored in Test Cricket?
While ODI cricket remains Kohli’s fortress, he has been equally impressive in Test cricket. With 30 Test centuries across 123 matches, he has proven his ability to excel in the longest format despite its unforgiving nature. Kohli has scored seven double centuries in Test cricket, tying him for the fourth-most in Test history.

His highest Test score of 254* came against South Africa at Pune in 2019. He scored consecutive double centuries against Sri Lanka in December 2017: 213 at Nagpur and 243 at Delhi. The 2014-2015 was a particularly exceptional phase, when Kohli scored four consecutive centuries in Test matches against Australia, including scores of 115, 141, 169, and 147.
Kohli’s Test career concluded in May 2025 after he scored an unbeaten 100 against Australia in Perth in November 2024, his 30th and final Test century. He retired with 9,230 runs at an average of 46.85 across 123 Tests.
Complete List of Virat Kohli’s Test Centuries
| No. | Runs | Against | Venue | Date |
|---|---|---|---|---|
| 1 | 116 | Australia | Adelaide Oval, Adelaide | 24 Jan 2012 |
| 2 | 103 | New Zealand | M. Chinnaswamy Stadium, Bangalore | 31 Aug 2012 |
| 3 | 103 | England | Vidarbha Cricket Association Stadium, Nagpur | 13 Dec 2012 |
| 4 | 107 | Australia | M. A. Chidambaram Stadium, Chennai | 22 Feb 2013 |
| 5 | 119 | South Africa | Wanderers Stadium, Johannesburg | 18 Dec 2013 |
| 6 | 105* | New Zealand | Basin Reserve, Wellington | 14 Feb 2014 |
| 7 | 115 | Australia | Adelaide Oval, Adelaide | 9 Dec 2014 |
| 8 | 141 | Australia | Adelaide Oval, Adelaide | 9 Dec 2014 |
| 9 | 169 | Australia | Melbourne Cricket Ground, Melbourne | 26 Dec 2014 |
| 10 | 147 | Australia | Sydney Cricket Ground, Sydney | 6 Jan 2015 |
| 11 | 103 | Sri Lanka | Galle International Stadium, Galle | 12 Aug 2015 |
| 12 | 200 | West Indies | Sir Vivian Richards Stadium, Antigua | 21 Jul 2016 |
| 13 | 211 | New Zealand | Holkar Stadium, Indore | 8 Oct 2016 |
| 14 | 167 | England | ACA-VDCA Cricket Stadium, Visakhapatnam | 17 Nov 2016 |
| 15 | 235 | England | Wankhede Stadium, Mumbai | 8 Dec 2016 |
| 16 | 204 | Bangladesh | Rajiv Gandhi Stadium, Hyderabad | 9 Feb 2017 |
| 17 | 103* | Sri Lanka | Galle International Stadium, Galle | 26 Jul 2017 |
| 18 | 104* | Sri Lanka | Eden Gardens, Kolkata | 16 Nov 2017 |
| 19 | 213 | Sri Lanka | Vidarbha Cricket Association Stadium, Nagpur | 24 Nov 2017 |
| 20 | 243 | Sri Lanka | Feroz Shah Kotla Ground, Delhi | 2 Dec 2017 |
| 21 | 153 | South Africa | SuperSport Park, Centurion | 13 Jan 2018 |
| 22 | 149 | England | Edgbaston, Birmingham | 1 Aug 2018 |
| 23 | 103 | England | Trent Bridge, Nottingham | 18 Aug 2018 |
| 24 | 139 | West Indies | Saurashtra Cricket Association Stadium, Rajkot | 4 Oct 2018 |
| 25 | 123 | Australia | Perth Stadium, Perth | 14 Dec 2018 |
| 26 | 254* | South Africa | Maharashtra Cricket Association Stadium, Pune | 10 Oct 2019 |
| 27 | 136 | Bangladesh | Eden Gardens, Kolkata | 22 Nov 2019 |
| 28 | 186 | Australia | Narendra Modi Stadium, Ahmedabad | 9 Mar 2023 |
| 29 | 121 | West Indies | Queen’s Park Oval, Port of Spain | 20 Jul 2023 |
| 30 | 100* | Australia | Perth Stadium, Perth | 22 Nov 2024 |
How Many T20I Centuries has Virat Kohli Scored?
Kohli scored one T20I century, coming on September 8, 2022, against Afghanistan in Dubai. He scored an unbeaten 122 off 61 balls.

Complete List of Virat Kohli’s T20I Century
| Runs | Against | Venue | Date |
|---|---|---|---|
| 122* | Afghanistan | Dubai International Cricket Stadium, Dubai | 8 Sep 2022 |
How Many IPL Centuries has Virat Kohli Scored?
Beyond international cricket, Kohli has shown his century-scoring prowess in the Indian Premier League, where he holds the all-time record with 8 IPL centuries. All of them have been scored while representing Royal Challengers Bengaluru (RCB), the franchise he has been loyal to since the league’s inception.

Kohli’s most remarkable IPL season came in 2016, when he scored four centuries in a single season. During that season, he amassed 973 runs across 16 matches, a single-season record that still stands. His highest IPL score of 113 came twice: in 50 balls against Kings XI Punjab in 2016 and off 72 balls against Rajasthan Royals in April 2024.
Complete List of Virat Kohli’s 8 IPL Centuries
| No. | Runs | Against | Venue | Date | Result |
|---|---|---|---|---|---|
| 1 | 100* | Gujarat Lions | Rajkot | 24 Apr 2016 | Lost |
| 2 | 108* | Rising Pune Supergiant | Bengaluru | 29 Apr 2016 | Won |
| 3 | 109 | Gujarat Lions | Bengaluru | 14 May 2016 | Lost |
| 4 | 113 | Kings XI Punjab | Bengaluru | 18 May 2016 | Won |
| 5 | 100 | Kolkata Knight Riders | Kolkata | 19 Apr 2019 | Won |
| 6 | 100 | Sunrisers Hyderabad | Hyderabad | 6 May 2023 | Lost |
| 7 | 101* | Gujarat Titans | Bengaluru | 1 May 2023 | Won |
| 8 | 113* | Rajasthan Royals | Jaipur | 6 Apr 2024 | Lost |
Frequently Asked Questions (FAQs)
1. How many international centuries does Virat Kohli have?
Virat Kohli has scored 85 international centuries as of January 2026 across all formats. This breaks down as: 54 ODI centuries, 30 Test centuries, and 1 T20I century. Additionally, he has scored 8 IPL centuries, all for Royal Challengers Bengaluru. With 85 international centuries, he is the second-highest international century-maker after Sachin Tendulkar’s 100 centuries. Kohli needs just 15 more international centuries to equal Tendulkar’s all-time record.
2. What is Virat Kohli’s fastest century in international cricket?
Virat Kohli’s fastest century in international cricket came in 52 balls against Australia in an ODI at Jaipur on October 16, 2013, when he scored an unbeaten 100. This remains the fastest ODI century by an Indian batsman and is the seventh-fastest century in ODI history overall. The knock featured 8 fours and 7 sixes, and Kohli reached his fifty off just 27 balls.
3. When did Virat Kohli end his century drought, and how long did it last?
Virat Kohli’s most notable century drought lasted 1,020 days (approximately 2 years and 10 months), from November 14, 2019, to September 8, 2022. During this period, he went 71 international innings without scoring a century, though he accumulated 22 half-centuries. He ended the drought by scoring his first-ever T20I century, an unbeaten 122 off 61 balls against Afghanistan in Dubai on September 8, 2022. Remarkably, despite this lean patch, Kohli maintained an average of 32.57 across these 71 innings.
4. How many times has Virat Kohli scored consecutive centuries in ODIs?
Virat Kohli has scored consecutive centuries in ODIs on 11 different occasions, making him the only player to achieve this milestone. AB de Villiers, the second-best performer in this category, achieved consecutive centuries only six times. Kohli’s most recent streak occurred in December 2025, when he scored 135 against South Africa in Ranchi (first ODI) followed by 102 in the second ODI at Raipur.
5. Which opposition has Virat Kohli scored the most centuries against?
Virat Kohli has scored the most centuries against Sri Lanka, with 13 ODI centuries against them. However, in terms of dominance and average, he has been most destructive against South Africa in ODIs, with 10 centuries in 33 matches and 31 innings, averaging 69.64 with a strike rate of 88.51. This makes him the leading century-maker against the Proteas in ODI format. Against New Zealand, Kohli has 7 ODI centuries, the most by any batter against them, surpassing Ricky Ponting and Virender Sehwag who each have 6.
6. What is Virat Kohli’s double-century record in Test cricket?
Virat Kohli has scored 7 double centuries in Test cricket, tying him for the fourth-most in Test history. His highest Test score is 254* against South Africa at Pune in 2019. Two of his double centuries came in consecutive matches: 213 against Sri Lanka at Nagpur on November 24, 2017, and 243 against Sri Lanka at Delhi on December 2, 2017. His other double centuries came against West Indies (200 at Antigua in 2016), New Zealand (211 at Indore in 2016), and England (235 at Mumbai in 2016).
7. How many centuries has Virat Kohli scored in matches India won?
Virat Kohli has scored 59 of his 85 international centuries in matches India won, the highest number of centuries in winning matches by any player in international cricket history.