1. Sachin Tendulkar – 18,426 runs
The Master Blaster is without a doubt the finest batter in Indian history and arguably the best batter to ever play the game. Tendulkar dominated both in Test and ODI formats but he was arguably better at ODI cricket. There is no guarantee as to whether any Indian batter will be able to break his record of scoring over 18,000 runs in ODIs in the future.
2. Virat Kohli – 13,886 runs
Kohli is definitely the best ODI batter of his era.