Virat Kohli scored 30 centuries during his Test career. The Indian batting legend Virat Kohli bid farewell to Test cricket on May 12. The right-handed batsman represented India in the red-ball format for 14 years. Virat Kohli made his Test debut in June 2011 during the series against the West Indies and played his final Test match against Australia in January 2025.
Throughout his career, Virat Kohli appeared in 123 Test matches for India. He amassed 9,230 runs in 210 innings at an average of 46.85. He finished as the fourth-highest run-scorer for India in Tests, behind Sachin Tendulkar, Rahul Dravid, and Sunil Gavaskar. In addition, Virat Kohli recorded 31 half-centuries and 30 centuries in the format.
Virat Kohli also holds the record for the most double centuries by an Indian in Test cricket, with seven to his name. His highest score was an unbeaten 254 against South Africa in October 2019. When analyzing his centuries against different teams, Kohli scored the most (9) against Australia, and five centuries each against England and Sri Lanka.
Of Virat Kohli 30 Test centuries, 14 were scored at home while 16 were made overseas. Virat Kohli scored 12 centuries in SENA countries (South Africa, England, New Zealand, Australia). Among these, Australia was his most prolific foreign venue with seven centuries.
Virat Kohli’s test hundreds:

Here’s Virat Kohli’s Test centuries presented in a clear table format:
No. | Runs | Opponent | Balls | Match Details | Venue | Date |
---|---|---|---|---|---|---|
1 | 116 | AUS | 213 | Australia vs India, 4th Test | Adelaide Cricket Stadium, Adelaide | Jan 2012 |
2 | 103 | NZ | 193 | India vs New Zealand, 2nd Test | Chinnaswamy Stadium, Bengaluru | Aug 2012 |
3 | 103 | ENG | 295 | India vs England, 4th Test | Vidarbha Cricket Association Stadium, Nagpur | Dec 2012 |
4 | 107 | AUS | 206 | India vs Australia, 1st Test | MA Chidambaram Stadium, Chennai | Feb 2013 |
5 | 119 | SA | 181 | South Africa vs India, 1st Test | New Wanderers Stadium, Johannesburg | Dec 2013 |
6 | 105* | NZ | 135 | New Zealand vs India, 2nd Test | Basin Reserve, Wellington | Feb 2014 |
7 | 115 | AUS | 184 | Australia vs India, 1st Test (1st innings) | Adelaide Cricket Stadium, Adelaide | Dec 2014 |
8 | 141 | AUS | 175 | Australia vs India, 1st Test (2nd innings) | Adelaide Cricket Stadium, Adelaide | Dec 2014 |
9 | 161 | AUS | 272 | Australia vs India, 3rd Test | Melbourne Cricket Ground, Melbourne | Dec 2014 |
10 | 147 | AUS | 230 | Australia vs India, 4th Test | Sydney Cricket Ground, Sydney | Jan 2015 |
11 | 103 | SL | 191 | Sri Lanka vs India, 1st Test | Galle International Stadium, Galle | Aug 2015 |
12 | 200 | WI | 283 | West Indies vs India, 1st Test | Sir Vivian Richards Stadium, Antigua | Jul 2016 |
13 | 211 | NZ | 366 | India vs New Zealand, 3rd Test | Holkar Cricket Stadium, Indore | Oct 2016 |
14 | 167 | ENG | 267 | India vs England, 2nd Test | ACA-VDCA Stadium, Visakhapatnam | Nov 2016 |
15 | 235 | ENG | 340 | India vs England, 4th Test | Wankhede Stadium, Mumbai | Dec 2016 |
16 | 204 | BAN | 246 | India vs Bangladesh, Only Test | Rajiv Gandhi Intl. Stadium, Hyderabad | Feb 2017 |
17 | 103* | SL | 136 | Sri Lanka vs India, 1st Test | Galle International Stadium, Galle | Jul 2017 |
18 | 104* | SL | 119 | India vs Sri Lanka, 1st Test | Eden Gardens, Kolkata | Nov 2017 |
19 | 213 | SL | 267 | India vs Sri Lanka, 2nd Test | Vidarbha Cricket Association Stadium, Nagpur | Nov 2017 |
20 | 243 | SL | 287 | India vs Sri Lanka, 3rd Test | Feroz Shah Kotla, Delhi | Dec 2017 |
21 | 153 | SA | 217 | South Africa vs India, 2nd Test | SuperSport Park, Centurion | Jan 2018 |
22 | 149 | ENG | 255 | England vs India, 1st Test | Edgbaston, Birmingham | Aug 2018 |
23 | 103 | ENG | 197 | England vs India, 3rd Test | Trent Bridge, Nottingham | Aug 2018 |
24 | 139 | WI | 230 | India vs West Indies, 1st Test | Saurashtra Cricket Association Stadium, Rajkot | Oct 2018 |
25 | 123 | AUS | 257 | Australia vs India, 2nd Test | Perth Cricket Stadium, Perth | Dec 2018 |
26 | 254* | SA | 336 | India vs South Africa, 2nd Test | Maharashtra Cricket Association Stadium, Pune | Oct 2019 |
27 | 136 | BAN | 194 | India vs Bangladesh, 2nd Test | Eden Gardens, Kolkata | Nov 2019 |
28 | 186 | AUS | 364 | India vs Australia, 4th Test | Narendra Modi Stadium, Ahmedabad | Mar 2023 |
29 | 121 | WI | 206 | West Indies vs India, 2nd Test | Queen’s Park Oval, Port of Spain | Jul 2023 |
30 | 100* | AUS | 143 | Australia vs India, 1st Test | Perth Cricket Stadium, Perth | Nov 2024 |