Skip to content
CricketTaken

India ODI best batting average: All-Time Records

By CricketTaken EditorialPublished Cricket in India9 min read

How this is written and checkedReport an error

Shubman Gill has scored 3,379 one-day international runs for India at an average of 60.33. Virat Kohli is second at 58.59 from 14,941 runs, MS Dhoni third at 50.23 and KL Rahul fourth at 49.44. Only those four have averaged 49 or better for India over a qualifying career in the format.

An average is runs divided by dismissals, not runs divided by innings, and the gap between those two denominators is what most of this page is about. Gill has been dismissed 56 times in 66 innings; Dhoni was dismissed 211 times in 294. Dhoni's 83 not-outs are the largest not-out count in India's one-day history and they are the reason a batter with nine hundreds averages more than one with twenty-two.

Averages are unusable on short careers, so this page counts only batters with 2,500 runs for India in ODIs. Twenty-five players qualify, and the whole set is ranked below rather than cut at ten, because the shape of the tail is as informative as the head.

Runs per dismissal for India in ODIs, 2,500-run minimum

Rank Batter Span Inns NO Runs Ave 100s 50s
1 Shubman Gill 2019-2026 66 10 3,379 60.33 9 20
2 Virat Kohli 2008-2026 302 47 14,941 58.59 54 79
3 MS Dhoni 2004-2019 294 83 10,599 50.23 9 73
4 KL Rahul 2016-2026 90 21 3,412 49.44 8 20
5 Rohit Sharma 2007-2026 280 37 11,895 48.95 34 62
6 Shreyas Iyer 2017-2026 76 7 3,136 45.44 5 24
7 Sachin Tendulkar 1989-2012 452 41 18,426 44.83 49 96
8 Shikhar Dhawan 2010-2022 164 10 6,793 44.11 17 39
9 Sourav Ganguly 1992-2007 297 23 11,221 40.95 22 71
10 Gautam Gambhir 2003-2013 143 11 5,238 39.68 11 34
11 Rahul Dravid 1996-2011 314 39 10,768 39.15 12 82
12 Ajay Jadeja 1992-2000 179 36 5,359 37.47 6 30
13 Navjot Singh Sidhu 1987-1998 127 8 4,413 37.08 6 33
14 Mohammad Azharuddin 1985-2000 308 54 9,378 36.92 7 58
15 Yuvraj Singh 2000-2017 275 39 8,609 36.47 14 52
16 Virender Sehwag 1999-2013 235 9 7,995 35.37 15 37
17 Suresh Raina 2005-2018 194 35 5,615 35.31 5 36
18 Ajinkya Rahane 2011-2018 87 3 2,962 35.26 3 24
19 Sunil Gavaskar 1974-1987 102 14 3,092 35.13 1 27
20 Dilip Vengsarkar 1976-1991 120 19 3,508 34.73 1 23
21 Ravindra Jadeja 2009-2026 142 52 2,905 32.27 0 13
22 Mohammad Kaif 2002-2006 110 24 2,753 32.01 2 17
23 Ravi Shastri 1981-1992 128 21 3,108 29.04 4 18
24 Kris Srikkanth 1981-1992 145 4 4,091 29.01 4 27
25 Kapil Dev 1978-1994 198 39 3,783 23.79 1 14

What the not-out column is doing

Batter Inns NO NO share Ave Runs per innings Gap
Ravindra Jadeja 142 52 36.6% 32.27 20.46 11.81
MS Dhoni 294 83 28.2% 50.23 36.05 14.18
Mohammad Kaif 110 24 21.8% 32.01 25.03 6.98
Ajay Jadeja 179 36 20.1% 37.47 29.94 7.53
Kapil Dev 198 39 19.7% 23.79 19.11 4.68
Suresh Raina 194 35 18.0% 35.31 28.94 6.37
Mohammad Azharuddin 308 54 17.5% 36.92 30.45 6.47
Ravi Shastri 128 21 16.4% 29.04 24.28 4.76
Dilip Vengsarkar 120 19 15.8% 34.73 29.23 5.50
Virat Kohli 302 47 15.6% 58.59 49.47 9.12
Shubman Gill 66 10 15.2% 60.33 51.20 9.13
Sachin Tendulkar 452 41 9.1% 44.83 40.77 4.06
Virender Sehwag 235 9 3.8% 35.37 34.02 1.35
Ajinkya Rahane 87 3 3.4% 35.26 34.05 1.21
Kris Srikkanth 145 4 2.8% 29.01 28.21 0.80

Every batter here is helped by the not-out convention, but the size of the help varies by a factor of ten. Virender Sehwag opened, was almost never left stranded, and his average sits 1.35 above his runs per innings. MS Dhoni finished, and his sits 14.18 above.

Neither number is a distortion. A batter who is not out has not failed, and excluding him from the denominator is the correct arithmetic. But it means an average compares two different jobs on a scale built for one of them, and a finisher's average and an opener's average are not the same quantity with different values.

Ravindra Jadeja is the extreme case at 36.6% not out. He has been dismissed ninety times in 142 innings and averages 32.27 while scoring 20.46 runs per innings — the largest proportional gap of anyone on this page, and the reason he appears on an averages list at all.

Gill, Kohli and a top that keeps moving

The four highest averages belong to batters who debuted in 2004, 2008, 2016 and 2019. No India batter who finished before 2000 averages above 37.08, and the highest from that era belongs to Navjot Singh Sidhu.

Part of that is scoring conditions — larger totals mean more runs to go round — and part is squad size. India played fewer ODIs before 1990, and the batters who played them were rarely rested, so a lean year sat in the record rather than being spent in domestic cricket.

Shubman Gill's 60.33 comes from 66 innings, the smallest qualifying sample on the page. That is not a reason to discount it, but it is a reason to expect it to move: a run of four low scores would cost him around two runs of average, where the same run would cost Sachin Tendulkar three-tenths of one. The stability of an average is a function of the denominator, and Tendulkar's is 411.

Virat Kohli's 58.59 across 255 dismissals is the harder number to argue with, and it is the one the record book will keep. He is also seventh on this page's companion measure, scoring at 93.95 per hundred balls, which is set out on India's best ODI batting strike rates.

Why Kapil Dev is last

Kapil Dev qualifies on runs and averages 23.79, more than eleven below the next-lowest name. He batted 198 times, was not out 39 of them, and passed fifty fifteen times in 3,783 runs.

He came in at seven or eight with instructions to hit from the first ball, and his 95.07 per hundred balls was the fastest scoring rate of anyone in India's side by a distance. An average measures how long a batter survives; a player told not to try to survive will score badly on it. His place on this list is a limitation of the statistic rather than a verdict on the cricketer, and the case is made properly in the guide to India's great all-rounders.

The three names above him — Kris Srikkanth at 29.01, Ravi Shastri at 29.04 and Mohammad Kaif at 32.01 — are a different story. All three played in India sides whose par total was under 250, and Srikkanth in particular opened with a licence to attack that cost him roughly one dismissal in three.

Four observations

Only two batters on this page have both an average above 44 and more than 200 innings: Kohli and Rohit Sharma. Longevity and a high average pull against each other, because a long career includes the decline that a short one does not.

Rahul Dravid averages 39.15 with twelve hundreds and 82 fifties, which is the widest fifty-to-hundred ratio in the top half of the table. The reasons are set out on India's most ODI fifties, and they have more to do with batting position than with technique.

Five of the twenty-five have averages above 48, and four of those five were still playing in 2026. India's current top order is the most productive the country has fielded in one-day cricket by this measure, and the aggregate picture is on India's most ODI runs.

Sunil Gavaskar averages 35.13 in ODIs and 51.12 in Tests. He is the clearest example on the page of a great batter whose method suited one format and not the other, and the wider story of that adjustment runs through the ODI history guide and the cricket in India hub. Career records for every name here are in the player directory.

Sources and method

Runs, innings, averages, hundreds and fifties come from ESPNcricinfo's Statsguru career query for men's ODIs with the team filter set to India, read as a career batting table and re-sorted here by average. Statsguru's default sort on that view is by runs, so the ranking on this page was compiled rather than quoted.

The not-out column is derived, not read. Dismissals were calculated as runs divided by average and subtracted from innings; every one of the twenty-five resolved to within a twentieth of a whole number, which is the check that the derivation is sound. MS Dhoni's 83 was verified independently against his published career line before the method was applied to the rest.

Runs per innings in the second table is runs divided by innings, computed here. It is printed beside the average to show the size of the not-out effect, and it is not a statistic Statsguru publishes. The two columns answer different questions and neither is a correction of the other.

The 2,500-run qualification is a threshold set for this page rather than a Statsguru default. It admits twenty-five India batters. A lower bar would place careers of thirty innings above Kohli and Tendulkar; a higher one would remove Ajinkya Rahane, Mohammad Kaif and Ravindra Jadeja, whose not-out profiles are part of what the page is explaining. Figures were read in the final week of August 2026 and cover men's ODIs completed by then.