Sachin Tendulkar has scored the most ODI runs for India: 18,426 in 463 matches between 1989 and 2012, which is also the world record. Virat Kohli is second with 15,109, and Rohit Sharma third with 12,120. Six Indians have passed 10,000 ODI runs: Tendulkar, Kohli, Rohit, Sourav Ganguly, Rahul Dravid and MS Dhoni.
The figures below count only runs scored for India, to 6 October 2026 (source: ESPNcricinfo Statsguru). Ganguly, Dravid, Dhoni, Yuvraj Singh and Virender Sehwag also played a few ODIs for the Asia XI or ICC World XI, so their overall career totals are slightly higher.
Most runs for India in ODI cricket
| Batter | Mat | Runs | Ave | 100s |
|---|---|---|---|---|
| Sachin Tendulkar | 463 | 18,426 | 44.83 | 49 |
| Virat Kohli | 317 | 15,109 | 58.78 | 55 |
| Rohit Sharma | 291 | 12,120 | 49.26 | 35 |
| Sourav Ganguly | 308 | 11,221 | 40.95 | 22 |
| Rahul Dravid | 340 | 10,768 | 39.15 | 12 |
| MS Dhoni | 347 | 10,599 | 50.23 | 9 |
| Mohammad Azharuddin | 334 | 9,378 | 36.92 | 7 |
| Yuvraj Singh | 301 | 8,609 | 36.47 | 14 |
| Virender Sehwag | 241 | 7,995 | 35.37 | 15 |
| Shikhar Dhawan | 167 | 6,793 | 44.11 | 17 |
Sachin Tendulkar: 18,426 runs
Tendulkar made his ODI debut against Pakistan in December 1989 and played his last ODI in 2012. He scored his 18,426 runs in 452 innings at an average of 44.83, with 49 hundreds and 96 fifties, and in 2010 made the first double hundred in men’s ODIs, 200 not out against South Africa at Gwalior. No one in any country has scored more ODI runs.
Virat Kohli: 15,109 runs
Kohli, who made his debut against Sri Lanka at Dambulla in August 2008, has scored 15,109 runs in 305 innings at an average of 58.78, the best of anyone in the top ten. His 55 ODI hundreds are the most in the format’s history, six more than Tendulkar. He has also passed Kumar Sangakkara (14,234) to become the second-highest run-scorer in ODI history, 3,317 runs behind Tendulkar.
Rohit Sharma: 12,120 runs
Rohit has 12,120 runs in 291 ODIs at 49.26, with 35 hundreds, and holds the highest individual score in ODIs, 264 against Sri Lanka in 2014. He is the only batter with three ODI double hundreds. In 2026 he has added 604 runs in 12 innings.
Ganguly, Dravid and Dhoni
Sourav Ganguly scored 11,221 runs for India at 40.95, with 22 hundreds, and with Tendulkar formed one of the most successful opening pairs in ODI history. Rahul Dravid made 10,768 at 39.15, often keeping wicket as well in his middle years. MS Dhoni scored 10,599 at 50.23, the best average among India’s retired batters on the list, helped by 83 not-outs.
India’s active batters
| Batter | Mat | Runs | Ave | 100s |
|---|---|---|---|---|
| Virat Kohli | 317 | 15,109 | 58.78 | 55 |
| Rohit Sharma | 291 | 12,120 | 49.26 | 35 |
| Shubman Gill | 70 | 3,713 | 64.01 | 11 |
| KL Rahul | 101 | 3,541 | 51.31 | 9 |
| Shreyas Iyer | 82 | 3,136 | 45.44 | 5 |
Shubman Gill has had the biggest 2026 of any Indian batter, with 895 runs in 11 innings at 111.87, including 223 not out against West Indies at Guwahati on 30 September. His career average of 64.01 is the highest of any Indian with more than 3,000 ODI runs.
For centuries rather than runs, see our lists of most ODI centuries for India and most ODI centuries overall. If you follow the match markets, our guide to cricket betting sites in India covers where to bet.
Photo credit: Imago





