India has been playing ODI cricket since 1974, and their batting has played a huge role in winning the matches. Earlier India was known for their batting but after the 2011 World Cup India has been recognized as a team who are equally good in every department of cricket. Four batsmen from India have also made it to the list of top 10 run-scorers in the history of ODI cricket. Let’s talk about the players with the most number of runs for India in ODI cricket.

Sachin Tendulkar
Sachin Tendulkar has scored the most number of runs (18426) for India in ODIs. Being the highest run-scorer in the game with 34347 runs., he had an illustrious ODI career of 23 years (1989-2012). Sachin has the most number hundred and 50s in One Day cricket. The greatest man also holds the record of being not out the most number of times (41) among the players with 12000 runs. Tendulkar is also the first-ever batsman to smash a double-century in ODIs.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
463 | 452 | 18426 | 44.83 | 86.23 | 200* | 96 | 49 |
Virat Kohli
Virat Kohli has scored the 2nd most number of runs (12898) in One-day international cricket. So far he has played 13 years of ODI cricket for India (2008-continue). Virat has the highest batting average (57.32) in the history of ODI cricket. Many experts have rated Virat as the best in this format ever. Virat is considered the only player who can break Sachin’s record of 49 centuries and 96 half-centuries in this format. Virat has been consistently notching up runs for India in the ODIs since his debut. Kohli also has the highest strike rate (93.62) among 10k run-scorers in ODI cricket.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
274 | 265 | 12898 | 57.32 | 93.62 | 183 | 65 | 46 |
Sourav Ganguly
Former Indian captain Sourav Ganguly gets 3rd place in terms of notching up the most number of runs (11363) for India in ODI cricket. Ganguly is one of five players who have scored more than 10000 runs in ODIs for India. Ganguly made his ODI debut against West Indies in 1992 and went on to play till 2008. Ganguly has played against the best bowlers in the history of cricket and averaged 41. During his career, he also captained the side for 6 years (1999-2005) in 147 matches and won 76 matches. He led India to win the ICC Champions Trophy in 2002.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
308 | 297 | 11363 | 41 | 73.65 | 183 | 72 | 22 |
Rahul Dravid
Rahul Dravid seals the 4th spot on the list of scoring the most number of runs (10889) for India in ODI cricket. The cricketing fraternity has tagged Rahul Dravid as “a test player.” But Rahul was equally good in One Day International also. He is one of the players in history who has made bowlers exhausted with his flawless batting. Dravid has the 2nd most number of the fifties (83) among Indians in ODIs. He has amassed runs with a commendable average of 39.16.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
340 | 314 | 10889 | 39.16 | 71.18 | 153 | 83 | 13 |
MS Dhoni
Former Indian skipper MS Dhoni has accumulated the 5th most number of runs (10773) in ODI cricket. MS Dhoni is the only lower-order batsman in the world to score more than 10000 runs in One Day International. Dhoni made his ODI debut in 2004 against Bangladesh and played till 2019. Despite batting at no 6, and 7 he has a bewitching batting average of 50.23. Dhoni also holds a unique record of being not out the most number of times (84) in ODIs. Dhoni has led India in ODIs for 11 years (2007-2018) and has the third-highest winning average (59.52).
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
350 | 297 | 10773 | 50.23 | 87.56 | 183* | 73 | 10 |
Rohit Sharma
The current Indian explosive batsman has notched up the 6th most number of runs (9825) for India in ODIs. Rohit Sharma made his debut in 2007 against Ireland. Rohit is also the only player to hit 3 double centuries in the history of ODI cricket. As an opener, Sharma has amassed 9825 runs with a sensational average of 48.63. He also has smashed 30 hundred, and 48 fifties so far.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
243 | 236 | 9825 | 48.63 | 90.02 | 264 | 48 | 30 |
Mohammad Azharuddin
Mohammad Azharuddin finds himself in the 7th position in the matter of making the most number of runs (9378) for India in ODI cricket. Azhar made his ODI debut in 1985 and had a career of 16 years. He was one of the main players of India in his era. He scored runs with a decent average of 36.92. He also captained India in 174 matches and won 94 of them.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
334 | 308 | 9378 | 36.92 | 74.02 | 153* | 58 | 7 |
Yuvraj Singh
Ex-Indian all-rounder Yuvraj Singh occupies 8th place when it comes to amassing the most runs (8701) for India in ODI cricket. Yuvraj has been a great savior of Indian cricket. He is the only all-rounder on the list. He had an impressive average of 36.56 and had 111 scalps also. He was even the Man of the Tournament in the 2011 World Cup and played a huge role in winning the ICC event for India.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
304 | 278 | 8701 | 36.56 | 87.68 | 150 | 52 | 14 |
Virender Sehwag
Former Indian swashbuckling opener Virender Sehwag has made the 9th most number of runs (8273) for India in ODI cricket. Sehwag was a player who used to begin hitting from the 1st ball irrespective of the format in his era when the best bowlers like Glenn Mcgrath, Brett Lee, Shoaib Akhtar, Shane Bond, etc bowled ruthlessly. He made his first appearance in ODIs in 1999 against Pakistan and played ODI till 2013. Sehwag is the only player on the list to score runs with an admirable strike rate of 104.33.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
251 | 245 | 8273 | 35.05 | 104.33 | 219 | 38 | 15 |
Shikhar Dhawan
Existent Indian opener Shikhar Dhawan is in the 10th position in terms of notching up the most runs (6793) for India in ODIs. Dhawan made his ODI debut in 2010 against Australia. He is known for his aggressive gameplay. So far he has amassed runs with a magnificent average of 44.11. Dhawan has won two golden bats for being the highest run-scorer in two consecutive Champions Trophies (2013,2017). He also has the second-best batting strike rate (91.35) among the players who have made more than 5000 runs for India.
Matches | Innings | Runs | Average | Strike-rate | Best | 50s | 100s |
167 | 164 | 6793 | 44.11 | 91.35 | 143 | 39 | 17 |
Sachin Tendulkar has scored the most runs for India in ODI, 18426 runs.
Virat Kohli has the most ODI runs, 12898 runs.
Sachin Tendulkar has the most centuries in ODI cricket (49).
Sachin Tendulkar has scored the most ODI runs for India against South Africa (2001 runs 57 matches).
Senior Cricket Content Editor at Skyblogs Cricket.
Contact me at info@skyblogs.in