Skip to content
CricketTaken

India ODI most matches played: All-Time Records

By CricketTaken EditorialPublished Cricket in India6 min read

How this is written and checkedReport an error

Sachin Tendulkar played 463 one-day internationals for India between December 1989 and March 2012. It is the most by any cricketer for any country, and the margin over the next Indian is 113 matches.

MS Dhoni is second on 350, Rahul Dravid third on 344, Mohammad Azharuddin fourth on 334 and Sourav Ganguly fifth on 308. Virat Kohli became the seventh Indian past three hundred during the 2025 Champions Trophy, and Yuvraj Singh is the other member of that group on 301.

Twenty-two years and four months of Tendulkar's life produced those 463 appearances, an average of just over twenty-one one-day internationals a year sustained across the whole period. No India player currently in the side is on a trajectory that reaches it.

India's most-capped one-day cricketers

# Player Span Mat Batting innings
1 Sachin Tendulkar 1989-2012 463 452
2 MS Dhoni 2004-2019 350 294
3 Rahul Dravid 1996-2011 344 314
4 Mohammad Azharuddin 1985-2000 334 308
5 Sourav Ganguly 1992-2007 308 297
6 Virat Kohli 2008-2026 302 302
7 Yuvraj Singh 2000-2017 301 275
8 Anil Kumble 1990-2007 269 134
9 Virender Sehwag 1999-2013 241 235
10 Harbhajan Singh 1998-2015 234 126
11 Javagal Srinath 1991-2003 229 121
12 Suresh Raina 2005-2018 226 194
13 Kapil Dev 1978-1994 225 198
14 Ravindra Jadeja 2009-2026 210 142

Rohit Sharma belongs in the upper half of this list and is left out of it. Published match counts for him differ by several between sources and none could be reconciled against the 280 batting innings used elsewhere on this site, so rather than print a figure that might be wrong the row is omitted. His batting record is on India's most ODI runs.

Matches and innings are not the same number

The right-hand column separates the batters from the bowlers more cleanly than anything else on this page. Anil Kumble played 269 one-day internationals and batted in 134 of them; Harbhajan Singh played 234 and batted in 126.

A number ten or eleven appears in roughly half the batting innings his match count implies, because the side is often bowled out above him or wins with wickets in hand. Virat Kohli's 302 matches produced 302 batting innings, the only exact one-to-one figure on the page.

Dhoni's 350 matches and 294 batting innings is the largest gap among the specialist batters, and it is a keeper's gap rather than a tail-ender's: he was frequently unused in the batting order when India's top order finished a chase, and he was not out 83 times when he did bat.

Twenty-two years

Tendulkar debuted at sixteen in December 1989 and played his last ODI at thirty-eight in March 2012. Across that span India's one-day schedule went from roughly twenty matches a year to more than forty, and he was in the side for almost all of both.

The 463 also reflects an era of very few rest days. Players of the 1990s and 2000s were rarely rotated out of bilateral series, and workload management as a selection principle did not arrive in India until well into the 2010s.

That is the main reason the top of this list is closed. India now plays fewer one-day internationals per year than at the peak of the 2000s, rests senior players from bilateral series routinely, and gives more of the fixture list to T20. A player debuting today would need thirty years at the current rate to reach 463.

The 300 club

Seven Indians have played three hundred one-day internationals: Tendulkar, MS Dhoni, Rahul Dravid, Mohammad Azharuddin, Sourav Ganguly, Kohli and Yuvraj Singh. Six are batters and the seventh, Dhoni, kept wicket.

Not one specialist bowler is in it. Kumble at 269 is the closest, and no India seamer has passed 230 — Javagal Srinath's 229 is the highest. Fast bowling careers are shorter than batting careers, and the gap on this page is roughly a hundred matches wide.

Kohli is the only member still playing. He reached three hundred against New Zealand in the 2025 Champions Trophy and had 302 by the end of August 2026, which puts him third among the active on any measure but second on none of them.

Kapil, Srinath and the bowlers

Kapil Dev played 225 one-day internationals between 1978 and 1994, which was almost every ODI India played in that period. He is thirteenth on this list from a sixteen-year career, and the four players immediately above him needed roughly the same number of years to play more.

Javagal Srinath's 229 in twelve years and Harbhajan Singh's 234 in seventeen are the two highest bowling totals after Kumble. All three bowled through the era when India's one-day schedule was at its heaviest, and all three had careers interrupted by injury in a way the batters' were not.

Ravindra Jadeja at 210 and counting is the only bowler on this page still active. He is an all-rounder who bats in the middle order, which is precisely the profile that allows a bowler to accumulate caps, and the same effect is visible on India's leading ODI wicket-takers.

Four observations

Five of the fourteen played their last one-day international before 2008, and the five between them span 1978 to 2007. India's one-day history divides fairly cleanly at that point, and the guide to India's ODI history traces why.

Only two players on the list are still adding to their totals, Kohli and Jadeja, and both were in their late thirties by 2026. The table is close to fixed.

Azharuddin's 334 came in fifteen years and includes captaincy at three fifty-over World Cups. He played more one-day internationals for India than anyone except Tendulkar, Dhoni and Dravid, and his fielding record over those matches is on India's most ODI catches.

Suresh Raina's 226 in thirteen years is the highest total by any India player who never held a settled place in the side across a full decade. He was in and out of the XI from 2011 onwards and still played more ODIs than Kapil Dev. Career records for everyone here are in the player directory, and the country's cricket as a whole in the cricket in India hub.

Sources and method

Match totals come from published lists of India's most-capped one-day cricketers, with the seven players above three hundred confirmed against a second source and against the report of Virat Kohli reaching his three hundredth appearance during the 2025 Champions Trophy.

Two figures in circulation needed reconciling. Sourav Ganguly and Yuvraj Singh both appeared for an Asia XI in official one-day internationals, and several published lists add those matches to their India totals — which is why Ganguly is sometimes given as 311 and Yuvraj as 304. This page counts India appearances only, so it uses 308 and 301.

Batting innings come from ESPNcricinfo's Statsguru career query for men's ODIs with the team filter set to India, and are printed beside the match count to show the size of the gap for bowlers and for a wicketkeeper who batted at six. Anil Kumble's 134 and Harbhajan Singh's 126 were taken from the same source used for India's ODI ducks record, where innings batted is the operative denominator.

Rohit Sharma is omitted rather than estimated. Published match counts for him range across several values and none matches the 280 batting innings his career line carries elsewhere on this site, which is a discrepancy this page could not resolve. Every other row was checked in the final week of August 2026 and covers men's ODIs completed by that date.