Ranking the top 10 greatest Indian men's batters of all time ft. Virat Kohli & Rohit Sharma
Just as the phrase - 'T20 is a batter's game' is widely accepted, a new one must be coined -'India is a batter's cricketing nation'. While bowlers enjoy their temporary rise to fame, ultimately, the batters are celebrated with hero worship like no other cricket-playing nation across the globe.
Yet, there is validity to such adulation for the Indian batters from the fans, for, they have their imprint on the record books like no other. From the most runs to centuries to any other batting-related accomplishment, Indian cricketers across eras will be atop such cherished lists.
Beyond the numbers, there is also the air of elegance in the shot-making among Indian batters that draws massive crowds worldwide. In many ways, one can attribute a large chunk of credit for the sport capturing the global audience with Indian batters and their stranglehold on the eyes of the fans.
With that said, ranking the greatest Indian batters across several generations involves splitting hairs. Some of the legends of the past paved the way for many that the below top 10 will boast of, even if they could not make it only because of the lack of white-ball cricket back in the day.
Yet, to maintain a level of objectivity, Tests and ODIs must be weighed more than T20Is, considering many stalwarts of the 1980s to the early 2000s from India could not showcase their skills in the shortest format of the game.
On that note, we start by paying tribute to five legendary Indian batters who just missed the top 10 before diving into the esteemed list.
Honorable Mentions
GR Viswanath, VVS Laxman, Gautam Gambhir, Mohinder Amarnath, Yuvraj Singh.
# 10 Dilip Vengsarkar
One of the unsung heroes of the late 1970s and the 1980s, Dilip Vengsarkar was among the few batters that found success in the red and white-ball format at that time.
The stylish right-hander is India's 13th leading run-scorer of all-time with 10,376 runs despite ODIs not being as prominent during his career. Vengsarkar boasted an impressive Test average of 42.13 with 17 centuries in 116 outings.
He was also arguably India's first great ODI batter with over 3,500 runs at an overall average of almost 37 in 129 matches.
Vengsarkar also played in three World Cups between 1979 and 1987, including India's triumphant 1983 title run.
Dilip Vengsarkar's international numbers
245 matches, 10,376 runs, 39.30 average, 18 centuries
# 9 Mohammad Azharuddin
Former Indian captain Mohammad Azharuddin is arguably the most stylish batter the country has produced. With a typical Hyderabadi flick of the wrist, Azharuddin was equally adept against pace and spin.
The now-61-year-old holds the incredible distinction of scoring three centuries in his first three Test outings and finishing his Test career off with a century in his final innings.
Azhar's illustrious Test career included over 6,000 runs at an average of over 45 with 22 centuries in 99 appearances. His ODI career was just as impressive with 9,378 runs (seventh all-time among Indian batters) at an average of almost 37 with seven hundreds.
Azharuddin remains India's eighth-leading run-scorer across formats with 15,593 runs despite not playing a single T20I game.
Mohammad Azharuddin's international numbers
433 matches, 15,593 runs, 39.77 average, 29 centuries
# 8 Virender Sehwag
Undoubtedly one of India's greatest match-winners and entertainers with the bat, Virender Sehwag comes in at No. 8. The former opening batter was a revolutionary who changed Test batting by going over the top of the in-field and scoring at a rapid rate, contrary to conventional thinking.
Sehwag is the only Indian batter with two 300+ scores in a Test innings and finished with almost 8,586 runs at an average of 49.34, including 23 centuries. His Test strike rate of 82.23 is the best by an Indian batter with at least 1,000 runs.
Sehwag also dominated bowlers in the white-ball formats, helping India to the 2007 T20 and 2011 ODI World Cup titles. He finished with 8,273 runs in ODIs at an average of 35.05 and a strike rate of 104.33 (only Indian batter with over 3,000 runs and a 100+ strike rate in ODIs).
At his peak, Sehwag was arguably the most feared batter in world cricket and played a key role in India's Test domination in the late 2000s.
Virender Sehwag's international numbers
363 matches, 16,892 runs, 40.60 average, 38 centuries
# 7 MS Dhoni
Captain Cool MS Dhoni was the rare Indian batter who earned massive fandom in the country for his finishing abilities in white-ball cricket over building quantitative numbers.
Predominantly batting at No. 6 and 7 in all three formats, the 43-year-old achieved unmatched consistency in the lower-order middle-order. Dhoni's ODI average of 50.57 is the second-best in cricket history among those with 10,000 runs.
He is also India's sixth-leading run-scorer in ODIs and T20Is with 10,773 runs and 1,617 runs, respectively. Dhoni was the Player of the Match in the 2011 World Cup final for his brilliant 79-ball 91* in the final against Sri Lanka to help India clinch the title.
While several batting records for a wicket-keeper in white-ball cricket belongs to him, Dhoni was also an underrated Test batter. Batting with the tail for most of his career at No. 7, he finished with 4,876 runs at an average of 38.09 in 90 matches.
He is sixth all-time among Indian batters in international runs with 17,092 runs and 15 centuries, creating a niche fan following for middle-order batting in a country often celebratory of centuries from top-order batters.
MS Dhoni's international numbers
535 matches, 17,092 runs, 44.74 average, 15 centuries
# 6 Sunil Gavaskar
India's original 'Little Master' Sunil Gavaskar comes in at No. 6, thanks mainly to his extraordinary Test numbers.
Gavaskar was the first-ever batter to scale the 10,000-run mark in Tests, finishing his career with 10,122 runs (3rd among Indian batters) at an average of 51.12 in 125 matches. The Mumbai-born cricketer also boasts 34 Test centuries - also 3rd all-time among Indian batters.
In a bowling-friendly era in the 1970s and 1980s, Gavaskar was among the very few with a water-tight technique to prosper and average over 50. He is widely regarded even now as India's best-ever Test batter and arguably the world's best in the long format.
He is one of only two Indian batters, Yashasvi Jaiswal being the other, to score 700+ runs in a Test series, having done it twice in the 1970s and once as captain.
Gavaskar was also part of India's 1983 ODI World Cup triumph and finished his 50-over career with over 3,000 runs at an average of 35.13.
Sunil Gavaskar's international numbers
233 matches, 13,214 runs, 46.20 average, 35 centuries
# 5 Sourav Ganguly
Another former captain Sourav Ganguly takes the final spot in the top five of all-time great Indian batters.
One of the first batters to scale 10,000 ODI runs, Ganguly is also the fourth fastest to the landmark in only 263 innings. Ganguly remains India's third all-time leading run-scorer in ODIs with 11,221 runs at an average of 40.95, including 22 centuries in 308 outings.
The southpaw boasts an incredible record in ODI World Cups with 1,006 runs at an average of 55.88 in 21 outings. He also finished as the third leading run-scorer in the 1999 edition with 379 runs in seven matches.
Ganguly also enjoyed a stellar Test career, scoring 7,212 runs at an average of 42.17 with 16 centuries in 113 appearances. He is fifth all-time among total runs for India with 18,433 runs and 38 centuries.
Sourav Ganguly's international numbers
421 matches, 18,433 runs, 41.42 average, 38 centuries
# 4 Rohit Sharma
India's Test and ODI captain Rohit Sharma has been among the most dominant batting forces over the past two decades in international cricket. The 37-year-old holds a plethora of records in the white-ball formats, sufficient to declare him as one of the best-ever ODI and T20I batters.
Rohit is the second-fastest to 10,000 ODI runs and is the only batter in cricket history with three 200+ scores in an ODI innings, including the highest-ever score of 264*. He also holds the record for the most centuries in ODI World Cups with seven and the fourth-most No. of runs in a single World Cup edition with 648 in 2019.
The stylish right-hander is fourth all-time among Indian batters in ODI runs and third in ODI centuries. Rohit averages almost 50 in ODIs at a strike rate of 92.43 in 265 matches.
Cut to T20Is and Rohit remains inseparable from the record books as he remains the format's leading run-scorer with 4,231 runs at an average of 32.05 and a strike rate of over 140.
He is also one of only two players in world cricket with five T20I centuries - the other being Glenn Maxwell. Rohit is also second all-time in T20 World Cup runs and has been part of India's two title-winning campaigns in 2007 and 2024.
Furthermore, his Test record continues to improve by the year. He currently has 4,148 runs at an average of 44.60 in 60 matches.
Rohit Sharma's international numbers
484 matches, 19,245 runs, 43.15 average, 48 centuries
# 3 Rahul Dravid
Rahul Dravid, also famously known as 'The Wall' comes in at No. 3 - the position he owned in Tests for a decade and a half during his illustrious career. Considered by many to be India's best-ever Test batter, Dravid finished with 13,265 runs in the format at an average of 52.63 with 36 centuries.
The master technician is fourth all-time in Test runs and second among Indian batters. Dravid is also one of only two Indian batters with over 10,000 runs in Tests and ODIs.
He is fifth all-time for India in ODI runs with 10,889 runs at an average of 39.16, including 12 centuries. Dravid was the leading run-scorer of the 1999 ODI World Cup with 461 runs at a stunning average of 65.85 in eight matches.
Beyond the numbers, Dravid's willingness to bat anywhere in the batting order and under extremely challenging conditions and circumstances throughout his career won fans' hearts worldwide, making him undeniably one of the greatest batters in cricket history.
Rahul Dravid's international numbers
504 matches, 24,064 runs, 45.57 average, 48 centuries
# 2 Virat Kohli
Former Indian captain Virat Kohli is soon turning into the cricket encyclopedia for the white-ball formats, setting and breaking records at will over the years. The 35-year-old holds the record for the most ODI centuries with 50 and the most runs in a single edition of the ODI World Cup with 765 runs in the 2023 edition.
Kohli is also the fastest in cricket history to 10,000 ODI runs, achieving the landmark in only 205 innings. He is also the second leading run-scorer in ODI World Cups with 1,795 runs at an average of almost 60.
Kohli's ODI average of 58.18 is by far the best all-time in world cricket among batters with at least 10,000 runs.
His T20I accolades are almost a carbon copy of the ODIs, having recently finished his career in the format as the all-time leading run-scorer in World Cups with 1,292 runs.
Kohli is also second overall in T20I runs with 4,188 at an other-worldly average of 48.69 - the best among batters with 4,000 runs. The champion batter is also the only cricketer with two Player of the Tournament awards in T20 World Cups (2014 and 2016).
Kohli's Test numbers are just as impressive with 8,871 runs at an average of 48.74 in 114 outings. His 80 international centuries are the second most all-time in world cricket, behind only Sachin Tendulkar.
Virat Kohli's international numbers
534 matches, 26,965 runs, 53.18 average, 80 centuries
# 1 Sachin Tendulkar
The late Tony Greig famously said during commentary in 2001- 'There is Tendulkar, then there is Daylight and then there is the rest'. His remarks hold true even after 23 years as the 'Little Master' Sachin Tendulkar attains pole position among all-time great Indian batters.
Almost every noteworthy batting record in cricket history belongs to the legendary batter, starting with the most international runs across formats and the most ODI and Test runs.
Tendulkar remains the only batter with 100 international centuries and is also the record-holder in Tests with 51 tons. He also still has the record for most ODI World Cup runs with 2,278 at an average of almost 57, including six centuries.
Considered by many to be the 'God of Cricket', Tendulkar was the first-ever batter to reach 10,000 ODI runs in ODIs. His 49 ODI centuries is also second all-time behind only Kohli's 50.
Tendulkar is also the only batter to scale 15,000 runs in Tests and ODIs and is by a long way India's leading run-scorer in international cricket.
Sachin Tendulkar's international numbers
664 matches, 34,357 runs, 48.52 average, 100 centuries