IPL Best Batting Averages: All-Time Records
By CricketTaken EditorialPublished Cricket in the Indian Premier League13 min read
Among batters who have scored 3,000 runs in the Indian Premier League, KL Rahul has the best average: 46.52 from 149 innings, six runs clear of David Warner and Virat Kohli behind him. Lower the bar to 2,000 runs and B Sai Sudharsan goes past him at 48.37 from 57 innings. Lower it to 1,000 and Vaibhav Suryavanshi appears at 44.70 from twenty-three innings without a single not-out.
That is the whole problem with a batting average in this format, and it is why this page publishes three tables instead of one. An average is runs divided by dismissals, and in a twenty-over match a batter's dismissals are governed as much by role and match situation as by ability. A finisher who is unbeaten a third of the time will average well above a better opener. A player with sixty innings has not yet been through the run of poor scores that every long career contains.
Every figure here is computed from ball-by-ball records of all 1,243 Indian Premier League matches from April 2008 to the 2026 final. The qualification thresholds are our own and are stated on each table.
Qualification: 3,000 career runs
| # | Player | Inns | NO | Runs | HS | Ave | SR | 100 | 50 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | KL Rahul | 149 | 24 | 5,815 | 152* | 46.52 | 139.15 | 6 | 45 |
| 2 | David Warner | 184 | 22 | 6,565 | 126 | 40.52 | 139.77 | 4 | 62 |
| 3 | Virat Kohli | 275 | 44 | 9,336 | 113* | 40.42 | 134.80 | 9 | 68 |
| 4 | Shubman Gill | 130 | 16 | 4,598 | 129 | 40.33 | 142.09 | 5 | 32 |
| 5 | Chris Gayle | 141 | 16 | 4,965 | 175* | 39.72 | 148.96 | 6 | 31 |
| 6 | Jos Buttler | 136 | 19 | 4,646 | 124 | 39.71 | 149.73 | 7 | 28 |
| 7 | AB de Villiers | 170 | 40 | 5,162 | 133* | 39.71 | 151.69 | 3 | 40 |
| 8 | MS Dhoni | 241 | 99 | 5,439 | 84* | 38.30 | 137.45 | 0 | 24 |
| 9 | David Miller | 143 | 52 | 3,288 | 101* | 36.13 | 139.50 | 1 | 14 |
| 10 | Shreyas Iyer | 144 | 26 | 4,229 | 101* | 35.84 | 136.73 | 1 | 32 |
| 11 | Shikhar Dhawan | 221 | 29 | 6,769 | 106* | 35.26 | 127.14 | 2 | 51 |
| 12 | Faf du Plessis | 147 | 11 | 4,773 | 96 | 35.10 | 135.79 | 0 | 39 |
| 13 | Suryakumar Yadav | 164 | 28 | 4,581 | 103* | 33.68 | 148.59 | 2 | 31 |
| 14 | Rishabh Pant | 136 | 21 | 3,865 | 128* | 33.61 | 146.79 | 2 | 20 |
| 15 | Suresh Raina | 200 | 30 | 5,528 | 100* | 32.52 | 136.73 | 1 | 39 |
Twelve batters have scored 3,000 IPL runs at an average of 35 or better, and nobody has done it at an average above 47. The fastest scorer among the twelve is de Villiers at 151.69, and his average is 39.71 — the pattern across the table is that the rate and the average trade against each other rather than rising together.
Qualification: 2,000 career runs
| # | Player | Inns | NO | Runs | Ave | SR | 100 | 50 |
|---|---|---|---|---|---|---|---|---|
| 1 | B Sai Sudharsan | 57 | 5 | 2,515 | 48.37 | 149.17 | 3 | 20 |
| 2 | KL Rahul | 149 | 24 | 5,815 | 46.52 | 139.15 | 6 | 45 |
| 3 | Heinrich Klaasen | 60 | 10 | 2,104 | 42.08 | 166.72 | 2 | 13 |
| 4 | David Warner | 184 | 22 | 6,565 | 40.52 | 139.77 | 4 | 62 |
| 5 | Virat Kohli | 275 | 44 | 9,336 | 40.42 | 134.80 | 9 | 68 |
| 6 | Shubman Gill | 130 | 16 | 4,598 | 40.33 | 142.09 | 5 | 32 |
| 7 | Shaun Marsh | 69 | 7 | 2,477 | 39.95 | 132.74 | 1 | 20 |
| 8 | JP Duminy | 75 | 24 | 2,029 | 39.78 | 124.02 | 0 | 14 |
| 9 | Chris Gayle | 141 | 16 | 4,965 | 39.72 | 148.96 | 6 | 31 |
| 10 | Jos Buttler | 136 | 19 | 4,646 | 39.71 | 149.73 | 7 | 28 |
| 11 | AB de Villiers | 170 | 40 | 5,162 | 39.71 | 151.69 | 3 | 40 |
| 12 | Ruturaj Gaikwad | 84 | 10 | 2,839 | 38.36 | 135.64 | 2 | 22 |
| 13 | MS Dhoni | 241 | 99 | 5,439 | 38.30 | 137.45 | 0 | 24 |
| 14 | Kane Williamson | 76 | 17 | 2,128 | 36.07 | 125.62 | 0 | 18 |
| 15 | Sachin Tendulkar | 78 | 11 | 2,334 | 34.84 | 119.82 | 1 | 13 |
Sudharsan's 48.37 across five seasons for Gujarat Titans is the highest figure any batter has taken past 2,000 runs, and unlike most short-career averages it is not built on not-outs — he has five in fifty-seven innings. Klaasen at 42.08 with a strike rate of 166.72 is the only batter past 2,000 runs combining an average above 40 with a rate above 160.
Qualification: 1,000 career runs
| # | Player | Inns | NO | Runs | Ave | SR |
|---|---|---|---|---|---|---|
| 1 | B Sai Sudharsan | 57 | 5 | 2,515 | 48.37 | 149.17 |
| 2 | KL Rahul | 149 | 24 | 5,815 | 46.52 | 139.15 |
| 3 | Vaibhav Suryavanshi | 23 | 0 | 1,028 | 44.70 | 228.95 |
| 4 | Devon Conway | 28 | 3 | 1,080 | 43.20 | 139.72 |
| 5 | Heinrich Klaasen | 60 | 10 | 2,104 | 42.08 | 166.72 |
| 6 | David Warner | 184 | 22 | 6,565 | 40.52 | 139.77 |
| 7 | Virat Kohli | 275 | 44 | 9,336 | 40.42 | 134.80 |
| 8 | Shubman Gill | 130 | 16 | 4,598 | 40.33 | 142.09 |
| 9 | Lendl Simmons | 29 | 2 | 1,079 | 39.96 | 126.64 |
| 10 | Shaun Marsh | 69 | 7 | 2,477 | 39.95 | 132.74 |
| 11 | JP Duminy | 75 | 24 | 2,029 | 39.78 | 124.02 |
| 12 | Chris Gayle | 141 | 16 | 4,965 | 39.72 | 148.96 |
| 13 | Jos Buttler | 136 | 19 | 4,646 | 39.71 | 149.73 |
| 14 | AB de Villiers | 170 | 40 | 5,162 | 39.71 | 151.69 |
| 15 | Michael Hussey | 58 | 7 | 1,977 | 38.76 | 122.64 |
| 16 | Ruturaj Gaikwad | 84 | 10 | 2,839 | 38.36 | 135.64 |
| 17 | MS Dhoni | 241 | 99 | 5,439 | 38.30 | 137.45 |
| 18 | Cameron Green | 42 | 15 | 1,029 | 38.11 | 151.10 |
| 19 | Kevin Pietersen | 36 | 9 | 1,001 | 37.07 | 134.72 |
| 20 | Matthew Hayden | 32 | 2 | 1,107 | 36.90 | 137.52 |
Suryavanshi's entry at number three is the reason a 1,000-run bar is too low to settle anything. Twenty-three innings, no not-outs, an average of 44.70 and a strike rate of 228.95. Both figures are extraordinary and neither has been tested by a bad season. Cameron Green is the opposite case: fifteen not-outs in forty-two innings, which is more than a third, and an average that flatters what he has done.
The not-out problem, quantified
| Player | Inns | NO | NO share | Runs | Ave | Ave if every innings counted |
|---|---|---|---|---|---|---|
| MS Dhoni | 241 | 99 | 41% | 5,439 | 38.30 | 22.57 |
| David Miller | 143 | 52 | 36% | 3,288 | 36.13 | 22.99 |
| AB de Villiers | 170 | 40 | 24% | 5,162 | 39.71 | 30.36 |
| Cameron Green | 42 | 15 | 36% | 1,029 | 38.11 | 24.50 |
| Virat Kohli | 275 | 44 | 16% | 9,336 | 40.42 | 33.95 |
| David Warner | 184 | 22 | 12% | 6,565 | 40.52 | 35.68 |
| Faf du Plessis | 147 | 11 | 7% | 4,773 | 35.10 | 32.47 |
The right-hand column is not a serious statistic — you cannot judge a batter by dividing runs by innings — but it does show the size of the effect. Dhoni's 38.30 and du Plessis's 35.10 look like similar careers on the average column. Dhoni was not dismissed in 41 per cent of his innings; du Plessis in 7 per cent. On runs per innings they are 22.57 and 32.47, and the truth about the two players is somewhere between the two views.
This is why the finishers cluster in the top ten of an IPL average table while almost never appearing in a run-aggregate top five. Dhoni, Miller, Green and Duminy are all inside the top twenty here; none has 3,000 runs except Dhoni and Miller.
The best single seasons
| # | Player | Season | Team | Inns | Runs | Ave | SR |
|---|---|---|---|---|---|---|---|
| 1 | MS Dhoni | 2019 | Chennai Super Kings | 12 | 416 | 83.20 | 134.63 |
| 2 | Virat Kohli | 2016 | Royal Challengers Bangalore | 16 | 973 | 81.08 | 152.03 |
| 3 | MS Dhoni | 2018 | Chennai Super Kings | 15 | 455 | 75.83 | 150.66 |
| 4 | David Warner | 2019 | Sunrisers Hyderabad | 12 | 692 | 69.20 | 143.87 |
| 5 | David Miller | 2022 | Gujarat Titans | 16 | 481 | 68.71 | 142.73 |
| 6 | Shaun Marsh | 2008 | Kings XI Punjab | 11 | 616 | 68.44 | 139.68 |
| 7 | Chris Gayle | 2011 | Royal Challengers Bangalore | 12 | 608 | 67.56 | 183.13 |
| 8 | Suryakumar Yadav | 2025 | Mumbai Indians | 16 | 717 | 65.18 | 167.92 |
| 9 | KL Rahul | 2021 | Punjab Kings | 13 | 626 | 62.60 | 138.80 |
| 10 | Nicholas Pooran | 2024 | Lucknow Super Giants | 14 | 499 | 62.38 | 178.21 |
| 11 | Virat Kohli | 2024 | Royal Challengers Bengaluru | 15 | 741 | 61.75 | 154.70 |
| 12 | Chris Gayle | 2012 | Royal Challengers Bangalore | 14 | 733 | 61.08 | 160.75 |
| 13 | David Warner | 2016 | Sunrisers Hyderabad | 17 | 848 | 60.57 | 151.43 |
| 14 | Hashim Amla | 2017 | Kings XI Punjab | 10 | 420 | 60.00 | 145.83 |
| 15 | Jos Buttler | 2025 | Gujarat Titans | 13 | 538 | 59.78 | 163.03 |
Qualification here is 400 runs in the season. Dhoni's 2019 tops it with 416 runs from twelve innings at 83.20, and the reason is again the not-outs: he was dismissed five times all season. Kohli's 2016 is the only 900-run season on the list and the only entry that would top an average table and a run-aggregate table simultaneously.
Suryakumar Yadav's 2025 — 717 runs at 65.18, striking at 167.92 — is arguably the most complete season in the whole table. Nobody else has combined 700 runs, an average above 60 and a strike rate above 165.
Averages the format punishes
| Player | Inns | Runs | Ave | SR |
|---|---|---|---|---|
| Axar Patel | 134 | 2,089 | 21.76 | 133.74 |
| Parthiv Patel | 136 | 2,848 | 22.60 | 120.78 |
| Mayank Agarwal | 125 | 2,756 | 22.97 | 133.53 |
| Glenn Maxwell | 134 | 2,819 | 23.89 | 155.15 |
| Wriddhiman Saha | 143 | 2,934 | 24.25 | 127.57 |
| Yuvraj Singh | 126 | 2,750 | 24.77 | 129.72 |
| Aaron Finch | 90 | 2,091 | 25.19 | 128.20 |
Seven batters have passed 2,000 IPL runs at an average under 26. Two of them, Maxwell and Axar Patel, did it in roles where a low average is the price of the job — Maxwell struck at 155.15 and is one of the most valuable middle-order batters the competition has employed. The others are mostly openers or keeper-batters who batted through the tournament's lower-scoring middle years.
Yuvraj Singh's presence is the one that surprises people. He was an outstanding one-day batter and the most expensive player at two separate auctions, and his IPL average of 24.77 across 126 innings is the lowest of any batter on this page with more than 2,500 runs apart from Parthiv Patel and Mayank Agarwal. His international record and his franchise record point in opposite directions, which the Yuvraj Singh profile sets out.
Three things the average tables show
A 40 average is the practical ceiling over a long career. Kohli, Warner, Rahul and Gill are the only players past 4,500 runs averaging 40 or more, and none is above 47. In one-day international cricket a dozen batters have careers above 45; the twenty-over game does not allow it, because the format asks for risk in every innings.
Short careers own the top of every unqualified list. Sudharsan, Suryavanshi, Conway, Klaasen and Simmons all sit above Kohli on the 1,000-run bar, and between them they have played fewer innings than he has. A qualification threshold is not pedantry here — it is the difference between a useful list and a random one.
The best average and the highest aggregate are not the same career. Rahul tops the 3,000-run table; Kohli has 3,521 more runs. The full aggregate list is on the IPL most runs page, and the scoring-rate view of the same population — where none of the top five here appears — on the IPL best batting strike rates page. Century and fifty conversion, the third way of reading a batting career, is on the IPL most centuries page.
For where the tournament sits in the Indian season and its structures, start from cricket in India.
Sources and method
All averages are computed from the Cricsheet ball-by-ball archive (cricsheet.org, ODC-BY 1.0), which holds a complete delivery record for the 1,243 IPL matches played between 18 April 2008 and 31 May 2026.
An average is runs scored divided by innings in which the batter was dismissed. A batter who retired hurt or retired not out is treated as not out, in line with scorecard practice. Innings counts every occasion the batter came to the crease, including those in which no ball was faced. Super-over innings are excluded, since super-over runs are not part of a batting record.
Strike rate is runs off the bat per hundred balls faced, with wides excluded and no-balls counted. The "average if every innings counted" column in the not-out table is runs divided by innings and is included only to size the effect of not-outs; it is not offered as a replacement measure and should not be quoted as one.
The three qualification bars — 3,000, 2,000 and 1,000 career runs — are ours, chosen to show how the ranking changes rather than to settle it, and the 400-run bar on the season table is ours too. No governing body publishes an official qualification for this record, which is precisely why the number has to be stated. Season labels are the calendar year the tournament was played. All figures close with the 2026 final and will move with the next season.