Most centuries for India in ODI (Source: AFP)
Scoring a century is the most significant achievement for any batter in the game of cricket. Staying unbeaten and scoring runs showcase a batter's mental strength, resilience, and perseverance. On top of that, holding the record for most centuries for your country in a single format is a triumph of the highest level.
Over the years, the Indian cricketing set-up has produced numerous batting giants, including Sunil Gavaskar, Sachin Tendulkar, Rohit Sharma, Virat Kohli, and many others. On that note, let's take a look at the list of players with the most centuries in ODIs for India.
5. Shikhar Dhawan, 17 centuries
In his career, spanning 2010 to 2022, former India opener Shikhar Dhawan scored 17 centuries in 167 games. With this record, famous as the "Gabbar" of cricket, Dhawan ranks fifth in the tally.
Before announcing his retirement in August 2024, Shikhar had a prolific career. Known for his aggressive opening batting style, particularly in limited-overs formats, he was part of the ICC Champions Trophy 2013-winning team, where he was named Player of the Tournament.
4. Sourav Ganguly, 22 centuries
A fearless player with an elegant batting style, Sourav Ganguly has scored 22 hundreds and 71 fifties. In his career from 1992 to 2007, Ganguly played 308 matches, widely known for his contributions to the Men in Blue.
Moreover, Ganguly scored 11,363 runs in his ODI career, ranking ninth in the world for most runs in ODI matches. He was the third batsman to cross the 10,000 runs in one-day cricket, after Sachin Tendulkar and Inzamam Ul Haq.
3. Rohit Sharma, 33 centuries
One of the best white-ball batters and former India captain, Rohit Sharma, holds the third rank in the list of most centuries in ODIs for India. With 33 tons to his name in 278 matches, Sharma has also scored as many as 60 half-centuries in the format. That's why he is labelled as a man with willow and a nightmare for the bowlers in the modern cricket.
2. Sachin Tendulkar, 49 centuries
The greatest batter to have ever existed, Sachin Tendulkar, is the second player on the list with 49 centuries in the ODIs. In a career that spanned over two decades, from 1989 to 2013, Sachin Tendulkar scored a total of 34,357 runs in 782 innings across all formats of the game, making him the highest-scoring batter in the history of sport.
1. Virat Kohli, 53 centuries
On 3rd December 2025, Virat Kohli scored his 53rd one-day international (ODI) century. With this number, Kohli stands atop as the batter with most centuries for India in ODIs.
Making his ODI debut in 2008, Kohli completed 17 years in the Indian colours. Kohli added another feather to his decorated ODI cap, having already scored a total of 14492 runs in the format in 307 games.


.jpg?type=mq)

