Virat Kohli recently became only the 4th Indian and 10th overall cricketer to feature in 500 international matches when he took the field at the Queen’s Park Oval in Trinidad in the Test match against West Indies.
Playing in 500 matches or more is a testament to things of a player: longevity of playing for over a decade-and-half, and the consistency of keeping his place in the side for such a long period of time. There are 10 players who have featured in 500 or more international games.
Here is the list of top 10 cricketers who have played most international matches:

1. Sachin Tendulkar – 664 matches
With no surprises here, master blaster Sachin Tendulkar played the most number of international matches, 664, in his 24-year illustrious career. Tendulkar amassed 34357 international runs, including 100 centuries – he’s the leading all-time ODI and Test run-scorer.
Tendulkar’s most-desired cricketing moment came when he won the 2011 World Cup, in his 6th and final attempt.
2. Mahela Jayawardene – 652 matches
Sri Lankan legend Mahela Jayawardene is not too far behind Tendulkar with 652 international matches, although Jayawardene featured in 55 T20Is while Tendulkar played only one T20I.
Jayawardene is the 4th leading international run-scorer with 25957, made with 54 hundreds. After three ICC World Cup final losses (2 ODI WC and one T20 WC) Jayawardene finally won the 2014 T20 WC.
3. Kumar Sangakkara – 594 matches
Jayawardene’s long-time batting partner Kumar Sangakkara is third on this list of most international matches with 594 games. He’s the second-highest run-scorer with 28016 runs with 63 hundreds to his name. Like Jayawardene, Sangakkara too finished with an ICC WC trophy in 2014 T20 WC.
4. Sanath Jayasuriya – 586 matches
Another Sri Lankan legend in this list is all-rounder Sanath Jayasuriya who played 586 matches in his 22-year career from 1989 to 2011. Jayasuriya was a crucial part of the Sri Lankan team that won the 1996 World Cup.
The left-hander who changed the opening batting mode from conservative to aggressive, shifting the ODI game entirely in the 1996 WC, scored over 21,000 runs and picked over 400 wickets.
5. Ricky Ponting – 560 matches
Legendary Australian skipper Ricky Ponting featured in 560 matches at the international level and he’s the third all-time international run-scorer with 27483, along with 71 centuries, the third-most now.
Ponting won the 1999 WC as a player, and the following 2 World Cups as Australia’s captain.
6. MS Dhoni – 538 matches
The only captain to win all three ICC trophies available at this time – T20 WC, ODI WC, and Champions Trophy – MS Dhoni played 538 international games, scoring 17266 runs with 16 centuries and 108 half-centuries to his name.
He was phenomenal with the gloves: Dhoni affected 829 dismissals in international cricket, third-most behind Mark Boucher and Adam Gilchrist; he is the only keeper to make more than 100 stumpings in ODIs.
7. Shahid Afridi – 524 matches
Former Pakistani captain and great all-rounder Shahid Afridi’s career spanned from 1996 to 2018, wherein he played in 524 international games scoring little over 11,000 runs and scalping over 500 wickets. He helped Pakistan win the 2009 T20 WC.
8. Jacques Kallis – 519 matches
Hailed as the greatest all-rounder in international cricket, South Africa’s Jacques Kallis played in 519 internationals across 19 years. And his numbers are simply sensational: 25534 runs with 62 hundreds along with taking 577 wickets!
Kallis, however, bowed out without any ICC trophy.
9. Rahul Dravid – 509 matches
Former India captain Rahul Dravid, who was labeled as The Wall of the Indian team, played in 509 international matches scoring over 24,000 runs with 48 centuries in his career.
10. Virat Kohli – 500* matches
The modern-day batting great, Virat Kohli reached the 500 international matches milestone against West Indies in July 2023. Hailed as arguably the greatest all-format batsman the game has seen, Kohli has recorded 25461 runs with 75 centuries, which is the second-most after only Tendulkar.