Virat Kohli’s Test career is defined by more than runs and centuries. His greatest innings often came when India needed resilience, technical discipline, or a change in tempo. Whether facing England’s moving ball, Australia’s pace and bounce, or South Africa’s demanding conditions, Kohli repeatedly showed an ability to adapt his game.
The top 5 best innings of Virat Kohli in Test cricket stand out because of their context as much as their scorecards. From his 149 at Edgbaston to his unbeaten 254 in Pune, each innings illustrates a different aspect of his red-ball batting.
Virat Kohli’s Top 5 Test Innings at a Glance
Rank | Score | Opponent | Venue | Year |
1 | 149 | England | Edgbaston | 2018 |
2 | 141 | Australia | Adelaide Oval | 2014 |
3 | 153 | South Africa | SuperSport Park | 2018 |
4 | 123 | Australia | Perth Stadium | 2018 |
5 | 254* | South Africa | MCA Stadium, Pune | 2019 |
1. Virat Kohli – 149 vs England, Edgbaston, 2018
Kohli’s 149 against England at Edgbaston in 2018 is arguably the defining overseas innings of his Test career. It carried particular weight because of what had happened four years earlier.
During the 2014 England tour, Kohli struggled badly against the moving ball and averaged only 13.40 across the five-Test series. The 2018 return gave him an opportunity to address one of the biggest weaknesses identified in his Test career.
India were under pressure after England made 287 in the first innings. Kohli then produced a disciplined 149, contributing more than half of India’s first-innings total of 274.
The innings was built around patience rather than constant aggression. He trusted his defence, left deliveries outside off stump carefully and waited for scoring opportunities. His 149 came from 225 balls and included 22 fours and one six.
What made the 149 special?
Runs: 149 off 225 balls
Boundaries: 22 fours and 1 six
Context: India were under significant pressure in the first innings
Main challenge: England’s swing and seam bowling
Kohli also managed the lower order effectively during the latter stages of the innings. His ability to maintain control while batting with tailenders helped India recover from a difficult position.
Why it ranks No. 1: The value of this innings cannot be judged by runs alone. It represented technical adjustment, mental resilience and redemption after his difficult 2014 tour.
2. Virat Kohli – 141 vs Australia, Adelaide, 2014
Kohli’s 141 against Australia at Adelaide in 2014 was a landmark innings for a different reason. It came during his first Test as India’s captain, making the performance an important moment in the beginning of his leadership era.
Australia set India a target of 364 in the fourth innings. Rather than simply trying to survive, Kohli attacked the target with clear intent. He had already scored 115 in the first innings, making the second-innings century part of a remarkable match for the newly appointed captain.
Kohli eventually made 141 from 175 balls, hitting 16 fours and one six. India fell 48 runs short after a late-order collapse, but the result did little to diminish the impression created by Kohli’s approach.
Key figures
First innings: 115
Second innings: 141
Second-innings balls: 175
Second-innings boundaries: 16 fours and 1 six
Result: Australia won by 48 runs
The performance demonstrated Kohli’s willingness to challenge Australia rather than retreat into defensive cricket. It also established the aggressive mindset that became a major feature of his Test captaincy.
3. Virat Kohli – 153 vs South Africa, Centurion, 2018
South African conditions have historically presented a major challenge for visiting Asian batters. Pace, bounce and movement can expose even technically accomplished players, which makes Kohli’s 153 at Centurion in 2018 one of his most impressive overseas hundreds.
South Africa made 335 in the first innings of the second Test. India then lost wickets regularly, leaving Kohli to take responsibility for a large part of the scoring.
He made 153 from 217 deliveries, striking 15 fours. His shot selection remained disciplined despite facing a formidable attack featuring Kagiso Rabada, Vernon Philander, Morne Morkel and Lungi Ngidi.
Kohli scored through the covers and used his wrists effectively when the bowlers attacked his pads. His control against steep bounce was particularly important on a surface that demanded careful judgment outside the off stump.
Why the innings stands out
Runs: 153 off 217 balls
Boundaries: 15 fours
India’s total: 307
Opposition: South Africa’s high-quality pace attack
Recognition: Kohli won Player of the Match
India ultimately lost the Test, but the innings demonstrated how one batter could absorb pressure and keep a struggling batting unit competitive.
4. Virat Kohli – 123 vs Australia, Perth, 2018
Kohli’s 123 at Perth in 2018 was another example of his ability to succeed against elite pace in demanding overseas conditions.
Australia’s attack featured Mitchell Starc, Pat Cummins, Josh Hazlewood and Nathan Lyon. Kohli arrived early in India’s innings after the team was 8/2 and had to build his innings against sustained pressure.
He batted for more than six hours, eventually scoring 123 from 257 balls. His 13 fours and one six came from a batting approach based on patience, soft hands and precise shot selection.
The Perth surface offered pace and bounce, making timing and balance particularly important. Kohli was prepared to wait for scoring opportunities rather than forcing shots against the new ball.
Key statistics
Runs: 123 off 257 balls
Boundaries: 13 fours and 1 six
Major challenge: Pace and steep bounce
Key batting traits: Patience, balance and shot selection
The innings remains a strong example of Kohli adapting his technique to Australian conditions rather than relying solely on his natural attacking instincts.
5. Virat Kohli – 254* vs South Africa, Pune, 2019
If Kohli’s overseas centuries demonstrate resilience, his 254 not out against South Africa in Pune in 2019 represents his ability to dominate a Test match from start to finish.
Batting first on a good surface, Kohli gradually turned a controlled start into a monumental innings. He neutralized South Africa’s bowling attack before accelerating and taking complete control of the game.
Kohli remained unbeaten on 254 from 336 balls, hitting 33 fours and two sixes. He batted for 468 minutes, or nearly eight hours, and helped India reach 601/5 before the declaration.
The innings was his seventh Test double century, extending his record for the most Test double centuries by an Indian batter.
Key statistics
Runs: 254* off 336 balls
Boundaries: 33 fours and 2 sixes
Batting time: 468 minutes
Milestone: Seventh Test double century
Match result: India won by an innings and 137 runs
Unlike the other innings on this list, the Pune double century combined individual excellence with complete match dominance. Kohli controlled the pace of his innings and converted a big score into a position from which India could force victory.
Frequently Asked Questions
What is Virat Kohli’s highest Test score?
Virat Kohli’s highest Test score is 254 not out, made against South Africa in Pune in October 2019.
How many Test centuries has Virat Kohli scored?
Kohli has scored 30 centuries in Test cricket.
How many Test double centuries does Virat Kohli have?
He has scored seven Test double centuries, the most by an Indian batter.
What is Virat Kohli’s greatest overseas Test century?
His 149 against England at Edgbaston in 2018 is widely regarded as one of his greatest overseas Test centuries because of the conditions, match pressure and the significance of overcoming his 2014 struggles in England.
Did Virat Kohli score centuries in both innings of a Test?
Yes. He scored 115 and 141 against Australia in Adelaide in December 2014, producing centuries in both innings of the Test.
Against which team has Kohli scored the most Test centuries?
Kohli has scored the most Test centuries against Australia, with nine.
Final Verdict: Kohli’s Greatest Test Innings
The best innings of Virat Kohli in Test cricket reveal different sides of the batter. The 149 at Edgbaston represents redemption and technical discipline, the 141 at Adelaide captures his fearless approach to leadership, while the 153 at Centurion and 123 at Perth underline his ability to handle elite pace overseas.
The 254 in Pune*, meanwhile, showcases complete dominance and remains his highest Test score.
If one innings best represents Kohli’s Test batting legacy, the 149 at Edgbaston has the strongest case. It was not his highest score, but it combined pressure, difficult conditions, personal history and technical improvement in a way few of his other innings matched.
Also Read |















