Who has scored the most ODI centuries against one team?

Many greats of ODI cricket have gone on to dominate certain opponents. We will take a look at players with most ODI centuries against one team.

There have been many players in international cricket who have been a thorn in the side for some countries. Often batters in ODI cricket have shown and proved themselves to be a cause of worry to many teams. Greats of ODIs like Virat Kohli, Sachin Tendulkar, Rohit Sharma and many more have amassed a lot of centuries against one opponent. In this article, we will take a look at which batter has scored the most centuries against one team.

Most ODI centuries against one team

Player (Opponent) Span Matches Innings Runs Highest Score 100s 50s Average Strike Rate
Virat Kohli vs Sri Lanka 2008-2023 53 51 2594 166* 10 12 63.26 93.91
Virat Kohli vs West Indies 2009-2023 43 41 2261 157* 9 11 66.50 96.95
Sachin Tendulkar vs Australia 1991-2012 71 70 3077 175 9 15 44.59 84.71
Rohit Sharma vs Australia 2007-2023 44 44 2332 209 8 9 58.30 95.30
Virat Kohli vs Australia 2009-2023 48 46 2313 123 8 13 53.79 94.21
Sachin Tendulkar vs Sri Lanka 1990-2012 84 80 3113 138 8 17 43.84 87.54
Aaron Finch vs England 2013-2020 30 29 1354 135 7 5 48.35 92.48
Saeed Anwar vs Sri Lanka 1989-2002 52 52 2198 126 7 13 44.85 82.19
Sanath Jayasuriya vs India 1990-2009 89 85 2899 189 7 14 36.23 96.98


  • Virat Kohli (vs Sri Lanka)

Virat Kohli just like many other records holds the record for scoring most centuries against one country. The former Indian skipper has scored 10 centuries against Sri Lanka. Kohli’s first century against Sri Lanka came in 2009 at Eden Gardens, Kolkata. This was Kohli’s first century in international cricket. Arguably one of his best knocks in ODI cricket came against Sri Lanka in 2012 when he scored 133 runs in just 86 balls. In the same year, he scored three more centuries against the island nation. His sixth century against them came in 2014 while his seventh and eighth ton came in 2017. In 2023, he scored two more centuries against Sri Lanka to overtake himself and Sachin Tendulkar for having the most ODI centuries against one team.

  • Virat Kohli (vs West Indies)

Kohli has the joint-second most ODI centuries against one team. The Indian run machine has scored nine centuries against West Indies. Kohli scored his first ton against West Indies in 2011 while chasing a target of 270 runs. His second ton came in 2013 at Trinidad and in the same year, he was dismissed for 99 runs as he missed out on a century in Vishakhapatnam. His third century against the Windies came in 2014. Kohli hit his peak form against West Indies from 6th July to 27th October and scored four centuries in as many innings. His eighth and ninth century against the West Indies came in 2019 during India’s tour of the West Indies.

  • Sachin Tendulkar (vs Australia)

Arguably the greatest batter of all time, Sachin Tendulkar held the record for scoring the most ODI centuries against one team for a long time. He scored his first ODI century against Australia in 1994. His second ton against Australia came in 1998. In the same year, Tendulkar scored three consecutive hundreds. His sixth century against Australia came in 2001 while his seventh came in 2003. Tendulkar’s eighth and ninth centuries came in 2008 and 2009 respectively.


In the rich tapestry of ODI cricket, some batters have woven their dominance against specific opponents. Names like Virat Kohli, Sachin Tendulkar and Rohit Sharma stand tall with numerous centuries against certain teams. Kohli emerges as the titan here, setting unprecedented records against Sri Lanka and West Indies. His ten centuries against Sri Lanka showcase a saga that began in 2009, culminating in a historic two more in 2023. Not far behind, his nine centuries against the West Indies exemplify consistency and prowess. Tendulkar’s legendary battles against Australia, marking his own era of dominance, reflect the enduring legacy of cricket’s most revered icons against their formidable adversaries.