List of Virat Kohli Centuries in All Three Formats

Virat Kohli has scored 86 centuries in international cricket: 30 in Tests, 55 in One Day Internationals, and 1 in Twenty20 Internationals. That total puts him second on the all-time list of international century-makers, behind only Sachin Tendulkar’s 100, and his 55 ODI hundreds are the most by any batter in that format. This article gives the complete breakdown by format, including the full list of every Test and ODI century.

Kohli retired from Tests in May 2025 and from T20Is in June 2024, so his tallies in those two formats are final. He continues to play ODIs, where he added his 55th century in September 2026. Across all three formats he has scored 28,498 international runs, and his century record spans 17 years, from his first hundred against Sri Lanka in December 2009 to his latest against West Indies in September 2026.

Centuries by Format

Format Centuries Highest Score First Century Latest Century
Tests 30 254 not out 116 vs Australia, Adelaide, 2012 100 not out vs Australia, Perth, 2024
ODIs 55 183 107 vs Sri Lanka, Kolkata, 2009 139 not out vs West Indies, 2026
T20Is 1 122 not out 122 not out vs Afghanistan, Dubai, 2022 122 not out vs Afghanistan, Dubai, 2022
Total 86 254 not out 2009 2026

Test Centuries: All 30

Kohli’s 30 Test centuries came in 123 matches, in which he scored 9,230 runs at an average of 46.85. His first Test hundred was 116 against Australia at Adelaide in January 2012, and his last was an unbeaten 100 against Australia at Perth in November 2024. Seven of the thirty were double centuries in Test cricket, the most by any Indian batter. He scored nine Test centuries against Australia, more than against any other opponent in the format, and his twin hundreds on captaincy debut at Adelaide in December 2014, 115 and 141 in the same match, remain one of the great feats of his career.

No. Score Opposition Venue Year Result
1 116 Australia Adelaide 2012 Lost
2 103 New Zealand Bengaluru 2012 Won
3 103 England Nagpur 2012 Drawn
4 107 Australia Chennai 2013 Won
5 119 South Africa Johannesburg 2013 Drawn
6 105 not out New Zealand Wellington 2014 Drawn
7 115 Australia Adelaide 2014 Lost
8 141 Australia Adelaide 2014 Lost
9 169 Australia Melbourne 2014 Drawn
10 147 Australia Sydney 2015 Drawn
11 103 Sri Lanka Galle 2015 Lost
12 200 West Indies North Sound 2016 Won
13 211 New Zealand Indore 2016 Won
14 167 England Visakhapatnam 2016 Won
15 235 England Mumbai 2016 Won
16 204 Bangladesh Hyderabad 2017 Won
17 103 not out Sri Lanka Galle 2017 Won
18 104 not out Sri Lanka Kolkata 2017 Drawn
19 213 Sri Lanka Nagpur 2017 Won
20 243 Sri Lanka Delhi 2017 Drawn
21 153 South Africa Centurion 2018 Lost
22 149 England Birmingham 2018 Lost
23 103 England Nottingham 2018 Won
24 139 West Indies Rajkot 2018 Won
25 123 Australia Perth 2018 Lost
26 254 not out South Africa Pune 2019 Won
27 136 Bangladesh Kolkata 2019 Won
28 186 Australia Ahmedabad 2023 Drawn
29 121 West Indies Port of Spain 2023 Drawn
30 100 not out Australia Perth 2024 Won

ODI Centuries: All 55

Kohli’s ODI century record is the centrepiece of his career. His 55 hundreds are the most by any batter in ODI history, and he has scored 15,109 ODI runs at an average of 58.78. He passed Tendulkar’s record of 49 ODI centuries in November 2023, scoring 117 against New Zealand in the World Cup semi-final at Mumbai for his 50th. His highest ODI score is 183 against Pakistan at Dhaka in the 2012 Asia Cup, and his fastest came off 52 balls against Australia at Jaipur in 2013, still the fastest ODI century by an Indian.

The full list below runs from his first ODI hundred, 107 against Sri Lanka at Eden Gardens in December 2009, to his 55th, an unbeaten 139 against West Indies at Thiruvananthapuram in September 2026. Sri Lanka are the opponent he has scored the most ODI centuries against, with ten, followed by West Indies with ten and Australia and New Zealand with eight and seven.

No. Score Opposition Venue Year Result
1 107 Sri Lanka Kolkata 2009 Won
2 102 not out Bangladesh Dhaka 2010 Won
3 118 Australia Visakhapatnam 2010 Won
4 105 New Zealand Guwahati 2010 Won
5 100 not out Bangladesh Dhaka 2011 Won
6 107 England Cardiff 2011 Lost
7 112 not out England Delhi 2011 Won
8 117 West Indies Visakhapatnam 2011 Won
9 133 not out Sri Lanka Hobart 2012 Won
10 108 Sri Lanka Dhaka 2012 Won
11 183 Pakistan Dhaka 2012 Won
12 106 Sri Lanka Hambantota 2012 Won
13 128 not out Sri Lanka Colombo 2012 Won
14 102 West Indies Port of Spain 2013 Won
15 115 Zimbabwe Harare 2013 Won
16 100 not out Australia Jaipur 2013 Won
17 115 not out Australia Nagpur 2013 Won
18 123 New Zealand Napier 2014 Lost
19 136 Bangladesh Fatullah 2014 Won
20 127 West Indies Dharamshala 2014 Won
21 139 not out Sri Lanka Ranchi 2014 Won
22 107 Pakistan Adelaide 2015 Won
23 138 South Africa Chennai 2015 Won
24 117 Australia Melbourne 2016 Lost
25 106 Australia Canberra 2016 Lost
26 154 not out New Zealand Mohali 2016 Won
27 122 England Pune 2017 Won
28 111 not out West Indies Kingston 2017 Won
29 131 Sri Lanka Colombo 2017 Won
30 110 not out Sri Lanka Colombo 2017 Won
31 121 New Zealand Mumbai 2017 Lost
32 113 New Zealand Kanpur 2017 Won
33 112 South Africa Durban 2018 Won
34 160 not out South Africa Cape Town 2018 Won
35 129 not out South Africa Centurion 2018 Won
36 140 West Indies Guwahati 2018 Won
37 157 not out West Indies Visakhapatnam 2018 Tied
38 107 West Indies Pune 2018 Lost
39 104 Australia Adelaide 2019 Won
40 116 Australia Nagpur 2019 Won
41 123 Australia Ranchi 2019 Lost
42 120 West Indies Port of Spain 2019 Won
43 114 not out West Indies Port of Spain 2019 Won
44 113 Bangladesh Chattogram 2022 Won
45 113 Sri Lanka Guwahati 2023 Won
46 166 not out Sri Lanka Thiruvananthapuram 2023 Won
47 122 not out Pakistan Colombo 2023 Won
48 103 not out Bangladesh Pune 2023 Won
49 101 not out South Africa Kolkata 2023 Won
50 117 New Zealand Mumbai 2023 Won
51 100 not out Pakistan Dubai 2025 Won
52 135 South Africa Ranchi 2025 Won
53 102 South Africa Raipur 2025 Lost
54 124 New Zealand Indore 2026 Lost
55 139 not out West Indies Thiruvananthapuram 2026 Won

T20I Century: The Only One

Kohli has exactly one T20I century: an unbeaten 122 against Afghanistan at Dubai in the 2022 Asia Cup, scored from 61 balls at a strike rate of 200. The innings ended a drought of 1,021 days without an international hundred and came with him opening the batting. He retired from T20Is after India’s T20 World Cup win in June 2024, finishing with 4,188 runs at an average of 48.69 in 125 matches, with that single century and 38 fifties. For his IPL hundreds alongside the international tally, see Kohli international and IPL centuries.

Centuries Against Each Opponent

Opponent Test Centuries ODI Centuries T20I Centuries Total
Australia 9 8 0 17
Sri Lanka 5 10 0 15
West Indies 3 10 0 13
New Zealand 3 7 0 10
South Africa 3 7 0 10
England 5 3 0 8
Bangladesh 2 5 0 7
Pakistan 0 4 0 4
Zimbabwe 0 1 0 1
Afghanistan 0 0 1 1
Total 30 55 1 86

The opponent table shows the spread of Kohli’s dominance. Australia lead with 17 centuries against them, and he has ten ODI centuries against each of Sri Lanka and West Indies. His Virat Kohli IPL stats add nine more hundreds to the international tally. He has never scored a Test century against Pakistan, the one major opponent missing from his Test list, though he has four ODI hundreds against them, including the 183 at Dhaka and the unbeaten 100 at Dubai in 2025.

How many international centuries does Virat Kohli have?

Virat Kohli has 86 international centuries: 30 in Tests, 55 in ODIs, and 1 in T20Is.

Who has the most ODI centuries?

Virat Kohli, with 55 ODI centuries. He passed Sachin Tendulkar’s record of 49 in November 2023.

What is Virat Kohli’s highest score in each format?

In Tests, 254 not out against South Africa at Pune in 2019. In ODIs, 183 against Pakistan at Dhaka in 2012. In T20Is, 122 not out against Afghanistan at Dubai in 2022.

What was Virat Kohli’s fastest ODI century?

His fastest ODI century came off 52 balls against Australia at Jaipur in October 2013. It remains the fastest ODI century by an Indian.

What was Kohli’s most recent international century?

His most recent international century was his 55th ODI hundred, an unbeaten 139 against West Indies at Thiruvananthapuram on 27 September 2026.

How many centuries does Kohli have against Australia?

Kohli has 17 international centuries against Australia: 9 in Tests and 8 in ODIs, the most he has scored against any single opponent.

Rivcky John

A prominent figure in sports journalism for the last two decades. Cricket Analyst & Writing News, Features, Match Previews/Reviews/Reports, And Opinion Pieces on Cricket. You can connect with him on Facebook also.