Virat Kohli has scored the most ODI centuries for India, 54. He passed Sachin Tendulkar’s 49 in the semi-final of the 2023 World Cup and has added four more since.
Kohli and Tendulkar are the only Indians past 40, and only four have reached 20.
Most ODI centuries for India
Every India batter with six or more ODI centuries, complete to 9 September 2026. Figures are for India only, and ties are ordered by fewest matches. Source: ESPNcricinfo.
| Rank | Player | Span | Mat | Runs | HS | 100s | 50s | Ave |
|---|---|---|---|---|---|---|---|---|
| 1 | Virat Kohli | 2008-2026 | 314 | 14941 | 183 | 54 | 79 | 58.59 |
| 2 | Sachin Tendulkar | 1989-2012 | 463 | 18426 | 200* | 49 | 96 | 44.83 |
| 3 | Rohit Sharma | 2007-2026 | 288 | 11895 | 264 | 34 | 62 | 48.95 |
| 4 | Sourav Ganguly | 1992-2007 | 308 | 11221 | 183 | 22 | 71 | 40.95 |
| 5 | Shikhar Dhawan | 2010-2022 | 167 | 6793 | 143 | 17 | 39 | 44.11 |
| 6 | Virender Sehwag | 1999-2013 | 241 | 7995 | 219 | 15 | 37 | 35.37 |
| 7 | Yuvraj Singh | 2000-2017 | 301 | 8609 | 150 | 14 | 52 | 36.47 |
| 8 | Rahul Dravid | 1996-2011 | 340 | 10768 | 153 | 12 | 82 | 39.15 |
| 9 | Gautam Gambhir | 2003-2013 | 147 | 5238 | 150* | 11 | 34 | 39.68 |
| 10 | Shubman Gill | 2019-2026 | 67 | 3379 | 208 | 9 | 20 | 60.33 |
| 10 | MS Dhoni | 2004-2019 | 347 | 10599 | 183* | 9 | 73 | 50.23 |
| 12 | KL Rahul | 2016-2026 | 98 | 3412 | 112* | 8 | 20 | 49.44 |
| 13 | Mohammad Azharuddin | 1985-2000 | 334 | 9378 | 153* | 7 | 58 | 36.92 |
| 14 | VVS Laxman | 1998-2006 | 86 | 2338 | 131 | 6 | 10 | 30.76 |
| 14 | Navjot Singh Sidhu | 1987-1998 | 136 | 4413 | 134* | 6 | 33 | 37.08 |
| 14 | Ajay Jadeja | 1992-2000 | 196 | 5359 | 119 | 6 | 30 | 37.47 |
Virat Kohli – 54 ODI centuries
Kohli’s 50th came against New Zealand at the Wankhede on 15 November 2023, a 113-ball 117 in the World Cup semi-final, and it took him past Tendulkar. Four more have followed: 100 not out against Pakistan at Dubai in February 2025, 135 and 102 against South Africa at Ranchi and Raipur later that year, and 124 against New Zealand at Indore in January 2026.
He has made hundreds against nine different opponents. Ten of the 54 have come against Sri Lanka, more than against anyone else, and nine against West Indies.
His rate is the fastest on the list: a century every 5.8 matches, against Tendulkar’s 9.4 and Rohit Sharma’s 8.5.
Sachin Tendulkar – 49 ODI centuries
Tendulkar held the record for a decade and his 18,426 runs are still the most in ODI cricket, 3,485 clear of Kohli. He needed 463 matches for his 49, 149 more than Kohli has played.
It took him five years to reach the first. He debuted in 1989 and did not make an ODI hundred until 9 September 1994, 110 from 130 balls against Australia at Colombo in the Singer World Series, his 79th one-day international.
Australia were his most productive opponent with nine hundreds, and Sri Lanka gave him eight. One of the 49 was a double century, the first in ODI cricket, against South Africa at Gwalior in February 2010.
Rohit Sharma – 34 ODI centuries
Rohit is third and still playing. His 264 against Sri Lanka is the highest individual score in ODI cricket, and he is the only batter to have made three ODI double centuries.
Nine of his 34 have come against Australia, more than against any other side. His most recent was 138 against England at Lord’s in July 2026.
Who is still playing
Four of the 16 are active: Kohli on 54, Rohit Sharma on 34, Shubman Gill on nine and KL Rahul on eight.
Gill is the one to watch. He has nine hundreds in 67 matches, the second-fastest rate in the list behind Kohli, and his average of 60.33 is the highest of the 16 — higher even than Kohli’s 58.59. His 208 against New Zealand is the third-highest score in the list, behind Rohit’s 264 and Virender Sehwag’s 219.
The other end of the list
Two names sit lower than their reputations suggest. MS Dhoni made nine ODI hundreds in 347 matches and Mohammad Azharuddin seven in 334 — the two slowest rates among the 16, at a hundred every 38.6 and 47.7 matches. Both made plenty of scores worth converting and did not convert many: 73 fifties for Dhoni, 58 for Azharuddin.
Rahul Dravid’s 82 fifties are the second most in this list, behind Tendulkar’s 96.
Most ODI centuries for India: quick answers
Who has scored the most ODI centuries for India? Virat Kohli, with 54.
When did Kohli pass Tendulkar? On 15 November 2023, with his 50th, in the World Cup semi-final against New Zealand.
How many ODI hundreds does Rohit Sharma have? 34, including three double centuries.
Which active Indian is closest to the top three? Shubman Gill, on nine from 67 matches.
Who has the most ODI runs for India? Sachin Tendulkar, with 18,426.
See also our lists of the most centuries in ODI cricket and the most ODI hundreds against one team.
Follow us on Telegram for the latest updates from the world of sports!
Interested in cricket betting? Click here to check out the list of top sites.
Photo credits: Alamy







