Virat Kohli has scored the most ODI centuries for India, 55. He passed Sachin Tendulkar’s 49 in the semi-final of the 2023 World Cup and has added five 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 30 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 316 15109 183 55 79 59.01
2 Sachin Tendulkar 1989-2012 463 18426 200* 49 96 44.83
3 Rohit Sharma 2007-2026 290 12028 264 35 62 49.09
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 Shubman Gill 2019-2026 69 3712 223* 11 20 65.12
9 Gautam Gambhir 2003-2013 147 5238 150* 11 34 39.68
11 MS Dhoni 2004-2019 347 10599 183* 9 73 50.23
12 KL Rahul 2016-2026 100 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 – 55 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. Five 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, 124 against New Zealand at Indore in January 2026, and 139 not out against West Indies at Thiruvananthapuram on 27 September 2026.

He has made hundreds against nine different opponents. Ten each have come against Sri Lanka and West Indies, more than against anyone else.

His rate is the fastest on the list: a century every 5.7 matches, against Tendulkar’s 9.4 and Rohit Sharma’s 8.3.

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,317 clear of Kohli. He needed 463 matches for his 49, 147 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 – 35 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 35 have come against Australia, more than against any other side. His most recent was 101 against West Indies at Guwahati on 30 September 2026.

Who is still playing

Four of the 16 are active: Kohli on 55, Rohit Sharma on 35, Shubman Gill on 11 and KL Rahul on eight.

Gill is the one to watch. He has 11 hundreds in 69 matches, the second-fastest rate in the list behind Kohli, and his average of 65.12 is the highest of the 16, higher even than Kohli’s 59.01. Two of the 11 came in the last week of September 2026: 110 against West Indies at Thiruvananthapuram, then an unbeaten 223 from 133 balls against them at Guwahati. That is the third-highest score in all ODI cricket and the second-highest in this list, behind Rohit’s 264. It took Gill past Virender Sehwag’s 219 and his own 208 against New Zealand.

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 55.

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? 35, including three double centuries.

Which active Indian is closest to the top three? Shubman Gill, on 11 from 69 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