Indian Cricketers With the Most ODI Centuries: From Virat Kohli to Shikhar Dhawan
Scoring a century is one of the biggest achievements for any batter in cricket. Staying not out and making good runs shows a player’s focus, strength, and patience. Holding the record for the most centuries for your country in one format is a very special milestone.
India has produced many great batters over the years, such as Sunil Gavaskar, Sachin Tendulkar, Rohit Sharma, Virat Kohli, and others. With that in mind, here is a look at the players who have scored the most ODI centuries for India.
5. Shikhar Dhawan – 17 centuries
Shikhar Dhawan played for India from 2010 to 2022 and scored 17 centuries in 167 matches. He is nicknamed "Gabbar" for his aggressive batting. He retired in August 2024. Dhawan was part of India’s ICC Champions Trophy 2013-winning team and was named Player of the Tournament.
4. Sourav Ganguly – 22 centuries
Sourav Ganguly played for India from 1992 to 2007 and scored 22 centuries and 71 fifties in 308 matches. He scored 11,363 runs in ODIs and was the third player to cross 10,000 runs in one-day cricket after Sachin Tendulkar and Inzamam Ul Haq.
3) Rohit Sharma- 33
Rohit Sharma is one of the foremost white-ball batters to have ever played and also a former captain of the Indian team. He currently ranks third on this list with 33 centuries made whilst playing 278 matches in ODIs; in addition to these 33 centuries, Sharma has accumulated a remarkable total of 60 half-centuries during his ODI career, earning himself the nickname "The Man with a Willow" and becoming a positional nightmare for modern-day bowlers in cricket.
2) Sachin Tendulkar- 49
Sachin Tendulkar is possibly the greatest batter of all time. As such, he sits in second position on this list with his impressive tally of 49 One Day International (ODI) centuries. With nearly 20 years at the top of international cricket (between 1989 and 2013), he compiled a staggering total of 34,357 runs across 782 innings and all formats of the sport, cementing himself as the highest run-scorer in the history of the game.
1) Virat Kohli- 53
On December 3rd, 2025, Virat Kohli reached his current total of 53 centuries in One-Day Internationals (ODIs), putting him in first place as the highest scorer in Indian cricket history in ODIs; he has been making great strides since he debuted in ODIs back in 2008. With 17 years of experience under his belt, Kohli has truly built an impressive record in ODIs, including a total of 14,492 runs scored in 307 ODI matches.
| Rank | Player | Centuries | Matches | Career Span |
|---|---|---|---|---|
| 1 | Virat Kohli | 53 | 307 | 2008–2025 |
| 2 | Sachin Tendulkar | 49 | 782 | 1989–2013 |
| 3 | Rohit Sharma | 33 | 278 | 2007–present |
| 4 | Sourav Ganguly | 22 | 308 | 1992–2007 |
| 5 | Shikhar Dhawan | 17 | 167 | 2010–2022 |
I am a dedicated sports content writer who loves cricket and enjoys creating friendly and engaging content. I write about big moments, player performances, and match stories in simple and clear words, helping fans stay informed and connected to cricket around the world.
Follow Us
Cricket Poll
Latest Comments
johnylevis