#2 Yuvraj Singh (3,415 runs)

Former Indian batsman Yuvraj Singh is second on the list of Indian batsmen with the most ODI runs at #4, with 108 innings at his favourite position yielding 3,415 runs at an impressive average of 35.21.
The flamboyant southpaw was known for his big-hitting abilities, so his strike rate at #4 of 89.44 (his highest at any position barring #7, where he played only 3 innings) doesn't come as a surprise. Yuvraj also tallied 17 fifties and 6 hundreds at #4, with his career-high at the position of 150 coming in that memorable partnership with MS Dhoni against England in 2017.
However, a dip in form towards the end of his career meant that the 2011 World Cup Man of the Tournament finished his career without a farewell match, a career over the course of which he scored 8,701 ODI runs in 278 matches.
#1 Mohammad Azharuddin (4,605 runs)

Former Indian captain Mohammad Azharuddin was a regular at the #4 spot in ODIs, playing 137 games at the position and scoring 4,605 runs at an average of 40.39. He also scored these runs at a strike rate of 77.58, with 33 fifties and 3 tons, and has scored over 1,000 runs more than Yuvraj Singh in second place.
The elegant right-hander, known for his prowess on the leg-side, also played 83 games at #5, but his average of 29.69 and strike rate of 68.8 pale in comparison to those at one spot higher in the batting order. Just like Yuvraj, Azharuddin's career-best score came at #4 - a stroke-filled 153*.
After a life ban was imposed on him due to an ugly fixing scandal, Azharuddin was forced into retirement after having scored 9,378 runs in ODIs at a career average of 36.92 and striker rate of 74.02. He also managed 58 fifties and 7 hundreds in the 50-over format, and hung up his boots as one of India's greatest-ever batsmen.
Also Read: 3 Indian bowlers with the most Test wickets in a losing cause
Follow IPL Auction 2025 Live Updates, News & Biddings at Sportskeeda. Get the fastest updates on Mega-Auction and cricket news