The Indian Cricket Team is regarded as one of the strongest in the world. Over the years, the Men in Blue have made significant strides in ODI cricket, amassing an impressive collection of ICC titles, including two 50-over World Cups and two Champions Trophy victories.
India has been fortunate to produce world-class players who have consistently delivered exceptional performances. In this article, we will highlight Indian cricketers who have played 300 or more ODI matches.
1. Sachin Tendulkar – 463 matches

Sachin Tendulkar holds the record for playing the most ODI matches in world cricket. Making his ODI debut in 1989, he went on to represent India in 463 ODI matches. He also holds the record for the most ODI runs, amassing an incredible 18,426 runs, including 49 centuries and 96 half-centuries. Tendulkar retired from ODIs in 2012, with two ICC trophies to his name—the ICC Cricket World Cup 2011 and the ICC Champions Trophy 2002.
2. MS Dhoni – 347 matches

MS Dhoni, India’s most successful captain, has played the second-most ODI matches for India. The ICC Cricket World Cup 2011 winner appeared in 347 ODI matches for India, totaling 350 ODIs, including three matches for Asia XI. He captained the side in 200 games, holding the record for most wins as India’s captain in ODIs with 110 victories. Dhoni announced his retirement from international cricket in 2020, with 10,773 runs at an average of 50.57 in ODIs.
3. Rahul Dravid – 340 matches

Known for his legacy in Test cricket, Rahul Dravid’s brilliance in ODIs is often overlooked. Nicknamed “The Wall,” he represented India in 340 ODIs, with an overall total of 344 ODIs, including four for Asia XI and ICC World XI. Dravid scored 10,889 runs at an average of 39.16, with 12 centuries and 83 fifties. His leadership in the 2007 ICC 50-over World Cup ended in disappointment as India was knocked out in the group stage.
4. Mohammad Azharuddin – 334 matches

Mohammad Azharuddin captained India in the most 50-over World Cups, leading the team in three editions (1992, 1996, and 1999). He played 334 ODIs for India, scoring 9,378 runs at an average of 36.92, including seven centuries and 58 half-centuries. His career was marred by the match-fixing scandal in 2000, after which he never played for India again.
5. Sourav Ganguly – 308 matches

Sourav Ganguly, a former captain of India, is regarded as one of the country’s greatest ODI batsmen. He played 308 ODIs for India, scoring 11,363 runs at an average of 41.02. Overall, he played 311 ODIs, including three for Asia XI. Under his leadership, India reached the final of the ICC Cricket World Cup 2003 and became joint winners of the ICC Champions Trophy 2002. His final ODI appearance came against Pakistan in 2007 at Gwalior.
6. Yuvraj Singh – 301 matches

Yuvraj Singh, one of India’s most legendary all-rounders, played 301 ODIs for the country. He appeared in a total of 304 ODIs, representing Asia XI in three of them. Yuvraj was especially known for his performances under pressure, winning the Player of the Tournament award in India’s 2011 ICC Cricket World Cup victory and playing a key role in the 2007 ICC Men’s T20 World Cup. He scored 8,701 ODI runs, including 14 centuries and 52 half-centuries.
7. Virat Kohli – 300 matches

Virat Kohli is the most recent Indian cricketer to join the exclusive list of players who have played 300 or more ODI matches. His 300th ODI came against New Zealand during the ICC Champions Trophy 2025 in Dubai. Prior to this milestone, Kohli had accumulated 14,085 runs at an impressive average of 58.20, including 51 centuries and 73 fifties.