Virat Kohli has made 24 Test Centuries, which puts him at fourth place among Indian players with the most centuries (after Sachin Tendulkar, Rahul Dravid, and Sunil Gavaskar), and at second place among active international players with the most centuries (after Hashim Amla).
This feat is extremely impressive in itself; however, given the fact that Kohli was initially pigeonholed as a limited overs specialist, this becomes even more impressive. That being said, not all of his centuries were of the same calibre as each other.
Some centuries came in easy conditions and situations, while others came in near unplayable conditions and difficult situations; some against easier oppositions, while others came against tougher oppositions.
This slideshow attempts to rank his 24 Test centuries in order, based on the conditions they were made in, the opposition they came against, their importance to the team and to his career at that point in time, and other such factors.
#24 - 139 vs West Indies at Rajkot, 2018
While Virat Kohli's latest Test century certainly showcased his mastery in constructing an innings, few will argue against the fact that Kohli was hardly tested.
Kohli came in to bat at 209-2, and a toothless West Indies attack - an already weak one devoid of its two best bowlers - barely tested him in friendly batting conditions as he stroked his way to his 24th ton.
No Test centuries are easy to make; however, in the plethora of Virat Kohli's centuries, this one certainly does not feature among the best.
#23 - 103* vs Sri Lanka at Galle, 2017
Having already secured a first-innings lead of 309, India were in an extremely comfortable position. They had added an extra 56 runs to Sri Lanka's target when Virat Kohli walked in, and facing a relatively inexperienced attack, without much fuss, he went on to get 103.
Some may point out that this was in Galle, a venue where India had crumbled two years prior to this innings; however, the fact that India had a 309 run lead in the first innings and were in an extremely favourable position outweighs the historical context of this game, making this century one of his relatively less impressive ones.
#22 - 213 vs Sri Lanka at Nagpur, 2018
Virat Kohli makes run-making look easy; however, on certain occasions, such as this one, it almost seemed as if run-making was actually not a task for him.
The platform had already been set by Murali Vijay and Cheteshwar Pujara, who both got centuries, and Virat Kohli walked in at a comfortable position of 216-2 on a batting-friendly Nagpur pitch.
The scoreboard makes this innings look deceptive, as Virat went on to get a double hundred. However, as great an innings as this was, in front of his other centuries, it pales in comparison.
#21 - 204 vs Bangladesh at Hyderabad, 2017
Another one of Kohli's double hundreds, ironically enough, ends up towards the bottom of the list. This was an exemplary innings as Virat Kohli showcased his impeccable batsmanship and free-flowing strokeplay as he went on to make an extremely quick double hundred at a strike rate of 82.
In this innings, Kohli dominated the bowlers as much as a batsman can within a Test match, and showed truly why he is regarded as one of the best in the world. However, despite all of the previously mentioned factors, this hundred was, again, in extremely favourable conditions.
When Kohli walked in at 180-2, the platform had already been set by Pujara and Vijay again, and in favourable batting conditions, the entire Indian batting line-up plundered runs against a Bangladesh attack that had been rendered clueless. Thus, as impressive as this innings was, among Kohli's exhibition of difficult, imperious centuries, it finds a relatively low position.
#20 - 107 vs Australia at Chennai, 2013
While this test match is greatly remembered for MS Dhoni's first and only double hundred in Tests, it was Virat Kohli that actually set the platform that enabled the then-Indian captain to kick on and get his double century.
Batting at number 5, Kohli walked in when the team was in a spot of bother: after making 380 in the first innings, Australia had reduced India to 105-3 and James Pattinson was bowling a fiery spell.
Kohli was able to construct meaningful partnerships with Sachin Tendulkar and MS Dhoni, and contributed significantly to India's recovery.
#19 - 243 vs Sri Lanka at Delhi, 2017
The fact that Kohli's highest score in Tests is so low in the list indicates the quality of opposition and situation it came in. The reality is that the sheer magnitude of the runs and domination with which Kohli got them are the only reasons this innings is not placed lower, for he hardly had to work for these runs.
In an air pollution-affected test match in his hometown, Virat Kohli walked in at 78-2 and stroked his way to perhaps 243 of the easiest runs in international cricket. The Sri Lankan bowlers, who were already barely challenging India, had an adverse reaction to the severe air pollution.
Most of them were struggling to breathe properly, let alone run in and bowl well to challenge Kohli. Despite Kohli's domination in this innings, this caveat must be noted. However, all that being said, this remains Kohli's highest Test score, and despite the ease with which he got the runs, he showcased dominating batsmanship of the highest calibre.
#18 - 104* vs Sri Lanka at Eden Gardens, 2017
One of Kohli's best innings at home, and certainly his best in the 2017-18 home season, this came in the second innings after India's batting had disintegrated in the first. On green-top seaming conditions in Kolkata, India's batting was wrapped for 172 in the first innings.
In the second innings, once Pujara got out, after the platform had already been set by Shikhar Dhawan and KL Rahul with a 166-run opening partnership, Kohli walked in to bat, and that too in far, far easier batting conditions.
However, Kohli was running out of partners at the other end (no batsman who came in after him made more than 12). He displayed a masterclass in batting with the tail and farming the strike. In this process, he led India to a India to set Sri Lanka a target 231; however, the match would end in a draw.
#17 - 105* vs New Zealand at Wellington, 2014
One of Kohli's early displays of brilliance in his Test career, this innings came in from an extremely difficult position. Chasing an inconceivable target of 435 in the fourth innings, India were rocked early on and fell to a score of 10-2.
Kohli walked in, and by all intents, his objective at that point in time was to save the match. Despite having been considered a one-day specialist up until that point in time, Kohli showed tremendous application and patience and allowed India to secure a respectable total.
Throughout this innings, Kohli not only showed his impressive strokeplay but also showed that he was a multi-faceted player that could adapt to the requirements of the game and the situation at hand.
#16 - 200 vs West Indies at Antigua, 2016
This innings kicked off Virat Kohli's run of double centuries, a run in which he got double centuries in four consecutive innings. Till that point in time, while Kohli was viewed as a quality Test player, his inability to play the long innings was a common criticism levied against him.
Kohli came out to bat at 74-2, and while he was not at his fluent best, he managed to accumulate 200 runs at an extremely satisfactory strike rate of 70.67. Despite the fact that this innings will not stick out among the plethora of Virat Kohli's great performances, its role in kickstarting his thirst for 'daddy hundreds' is undeniable.
#15 - 103 vs New Zealand at Bangalore, 2012
This innings, which came early on in Kohli's Test career - at a time when he still was frequently pigeonholed as a limited-overs only player. Coming in at 67-3, which soon became 80-4, Kohli had to deal with the team being in a difficult situation and had to lead the charge to recovery.
He was able to forge two key partnerships, first with Suresh Raina and then with MS Dhoni, to carry India to a respectable total 353, trailing only by 12. This century, Kohli's first at home, was the first of many efforts where he helped his team get out of an extreme spot of bother.
#14 - 103 vs Sri Lanka at Galle, 2015
Despite being in a losing cause, this Virat Kohli masterclass had great significance. In his first full-tour as Test captain, on a treacherous spin-friendly wicket in Galle, Virat Kohli came out to bat after two early wickets had fallen.
Due to the extremely difficult conditions, Kohli had to play circumspectly, and this innings turned out to be one of his slowest centuries, coming at a strike rate of 53. Even though India would go on to lose the match in dramatic fashion, Kohli's negotiation of the tough conditions and his attitude of leading from the front not only showcased his mastery as a Test batsman but also inspired the rest of the team to win the remaining two matches and become victorious in a memorable Test series in Sri Lanka.
#13 - 103 vs England at Nagpur, 2012
India were 2-1 down in a series at home, and having been reduced 64-3, which would soon become 71-4, they looked destined to go 3-1 down and lose in a humiliating fashion at home.
However, Virat Kohli, who had been having a poor series up until that point, played in an extremely mature manner and gave India a sniff. He showed the fighting spirit which the Indian team had been lacking, and along with MS Dhoni, was able to drag India to a position of respectability.
India would go on to eventually draw the Test match and lose the series; however, this innings showed Virat Kohli's immense maturity and thus is one significant century for him.
#12 - 167 vs England at Vishakhapatnam
In the second Test of an important home series, coming off the back of an unconvincing draw in the first match, the Indian team would have been eager to set things straight and begin dominating in their backyard.
Captain Virat Kohli led this effort from the front, as he stroked his way to an extremely significant effort of 167. As he walked out to bat after the fall of two early wickets in the first innings, he would have been keen to improve on his team's ordinary performances and play a meaningful innings.
Along with an able partner in Cheteshwar Pujara at the other end, he was able to exhibit a masterclass in building an innings on one of his happy hunting grounds.
#11 - 211 vs New Zealand at Indore, 2016
This innings of Kohli's stands out because of the domination and patience showed by him, who was joined by Ajinkya Rahane for most of it. Walking in a 60-2 and joined by Rahane at 100-3, Kohli batted for over 500 minutes to wear down a quality New Zealand bowling attack and eventually dominate.
Coming off the back of a poor run of scores after his double hundred and being constantly asked about in the media, Kohli would have been determined to put up a big score. Thus, he shelved his usually attacking game and showed real hunger and determination to accumulate so many runs and prove his critics wrong, yet again.
#10 - 103 vs England at Nottingham, 2018
Perhaps Virat Kohli's most valuable overseas century, as it led India to a memorable victory, this innings came just recently on India's tour of England. Having been dismissed three short of a hundred in the first innings, Virat Kohli came in to bat with the team in a relatively comfortable position 111-2; however, he was still challenged.
James Anderson bowled one of his finest spells of the summer, but Virat Kohli was able to adequately negotiate his old nemesis, and toil for runs. In India, against weaker oppositions, Virat Kohli trounces his way to tons; however, in England, against a quality bowling attack in challenging conditions, he had to grind hard for runs, which is an art in itself.
#9 - 235 vs England at Mumbai, 2016
Some may question the high status given to this innings, considering the fact that it came in the fourth Test of the series once it had been done and dusted. However, this innings led India, traditionally considered an inferior Test cricketing nation to England, to decimate and humiliate England in a Test match.
Virat Kohli came in to bat at 146-2 and carried his bat almost till the end of the innings; along the way, he showcased his wide range of strokes and enabled his partners to also pick up runs.
This innings was tantamount to rubbing salt in England's already deep wounds, and it made a memorable series victory into a complete decimation of England.
#8 - 116 vs Australia at Adelaide, 2012
Virat Kohli's maiden Test century is certainly one of his most memorable. Desperate to shrug off the tag of being a limited overs only player, Virat Kohli played a brilliant knock on a tour where most of the senior players failed.
Having made 604 in the first innings, the Australian team was well on top when they restricted India to 87-4, and in came in Virat Kohli. He not only showed great resistance in building meaningful partnerships with the tail but also responded superbly to the constant sledging by the Australian team, showing the positive impact of the aggression he had so frequently been criticised for early in his career.
He was able to adequately negotiate a potent Australian fast bowling attack and make one of the most memorable hundreds in Australia by an Indian, particularly by a young player.
#7 - 147 vs Australia at Sydney, 2015
Coming in to bat at a relatively comfortable position of 97-2 in the fourth and final Test of a series in which he had already dominated, Kohli continued his purple patch.
Kohli was able to adequately negotiate the searing fast-bowling spells of Mitchell Starc, Ryan Harris, and Josh Hazlewood. While India ended up drawing the match and losing the series, this series was personally important for Virat Kohli as it capped off what had been an already memorable tour for him in emphatic fashion.
#6 - 119 vs South Africa at Johannesburg, 2014
One of Virat Kohli's career-defining innings, undoubtedly. Having come against a fast-bowling attack which consisted of Dale Steyn, Vernon Philander, and Morne Morkel all at the peak of their prowess, this innings secured Virat Kohli's status as a genuinely world-class player.
Coming in to bat at 24-2, Virat Kohli ensured, with almost no support from the other end, that he got India to a respectable total of 280. Besides Virat Kohli's 119, the next two highest scores were 47 and 25, and this innings showed the gulf between Kohli and other batsmen in his generation.
This contribution, along with his 96 in the second innings, set South Africa an astronomical target north of 450 and showed the world that India could compete against the best in the world in any conditions.
#5 - 115 vs Australia at Adelaide, 2014
MS Dhoni had to sit out of the first Test against Australia due to injury. Kohli was handed the captaincy duty and taking over the reins for the first time, he responded beautifully in his first Test innings as captain.
Captaincy seemed to have brought the best out of Kohli as a Test player as he put on useful stands with Cheteshwar Pujara and Ajinkya Rahane, and led India to a respectable total of 444 in response to Australia's 517.
Not only did Kohli seemed to have made certain technical changes to help him succeed in Australia, but he was also showcasing the temperament and maturity to become a great Test player.
#4 - 169 vs Australia at Melbourne, 2014
This Virat Kohli innings is remembered as much for the high-quality batsmanship shown by Kohli as it is for the constant sledging and animosity between him and the Australians, especially Mitchell Johnson.
In response to Australia's 530 in the first innings, Kohli played an extremely memorable innings, and along with Rahane, put on one of the most notable partnerships by an Indian pair overseas.
What was most notable about this partnership was the way that both batsmen showed no fear and actively went after Australia's bowlers, particularly Mitchell Johnson.
#3 - 153 vs South Africa at Centurion, 2018
Barring Virat Kohli's 153, the highest score in the Indian innings was 46. That, in itself, tells the story of how dominant Kohli was and how well he led India from the front in this innings
Coming in at 28-2, he batted all the way through till the end of the innings and ensured that India's first innings deficit was only 28, far fewer than it seemed apparent at one point in time.
On this day, Kohli looked a class apart from everyone else on the pitch and established himself as one of the Test match greats of all time.
#2 - 149 vs England at Birmingham, 2018
The 2014 tour to England was almost unarguably Virat Kohli's worst in Test cricket; not only did he cease to score runs, but his status as Test player also took a major hit.
Every time Kohli made runs, the tour to England and his struggles against swing would be brought up. This was the prelude to the first Test against England in 2018, and after his first innings, Kohli put all these criticisms to rest.
India were reduced to 100-5, and a batting collapse looked inevitable yet again. However, Kohli, with virtually no support from the other end - the next highest score in the innings was 22 - managed to farm the strike, play with the tail, and aggressively lead India's charge to an extremely competitive total of 274.
In doing so, Kohli not only played one of his best innings and responded well to criticism of him, but he also managed to significantly elevate his status as a Test cricketer and his position among the game's greatest.
#1 - 141 vs Australia at Adelaide, 2014
Widely regarded as Kohli's best Test hundred and one of the best fourth-innings displays in the history of cricket, this Virat Kohli hundred had great implications not only for him as a player but for the entire team.
In the first Test of the series, with Kohli at the helm, India were set a fourth innings target of 364 to win. India did not start well and fell to 57-2, with Nathan Lyon wreaking havoc.
Ordinarily, any team in such a situation would attempt to play out the match for a draw; however, in came in Kohli, aggressively sweeping Lyon and pulling the pacers, clearly going for the win.
On a difficult fifth day Adelaide pitch with uneven bounce, Virat Kohli and Murali Vijay took India to 241-2, with a real chance of pulling off one of the greatest fourth-innings chases ever. However, Vijay's wicket at 241 triggered a collapse, and Kohli, still going for the win, was left stranded.
Despite not resulting in an India win, this Virat Kohli innings reflected a change in the mindset of the Indian team, and through his brilliant display of counterattacking, Kohli showed that this new age Indian team was going to be one that can compete fearlessly against any team in the world.
Follow IPL Auction 2025 Live Updates, News & Biddings at Sportskeeda. Get the fastest updates on Mega-Auction and cricket news