Most Hundreds Against a Single Team in ODIs (Ranked 25 to 1)
Hashim Amla vs. Sri Lanka
Former South African great Hashim Amla had a fantastic ODI record against Sri Lanka, scoring five centuries against them, with his best innings being a brilliant 154 off 134 balls in Centurion in 2017. Overall, he amassed over 1000 runs at an impressive average of 57.17, against the island nation.
Joe Root vs. West Indies
Joe Root boasts an exceptional ODI record against the West Indies, having scored five centuries against them, which is the joint-most he has against any single team. His best innings of an unbeated 166 runs in June 2025 at Sophia Gardens, Cardiff, resulted in him simultaneously becoming England's all-time leading ODI run-scorer.
Virat Kohli vs. Bangladesh
Virat Kohli has an impressive ODI record against Bangladesh, having scored a total of 5 hundreds in 16 innings. His highest score against them is 136. Kohli is also the country's leading run-getter against the neighboring country in the 50-over format, with 910 runs at a remarkable average of 75.83, which includes three fifties in addition to his centuries.
Hashim Amla vs. West Indies
Hashim Amla was a force against the West Indies in ODIs, smashing a total of 5 centuries in just 15 innings. The South African ace opener's best innings against the Windies came in a dominant display, an unbeaten 153 in Johannesburg back in 2015, contributing to a phenomenal career average of 80.69 against the Caribbean side.
Babar Azam vs. West Indies
Former Pakistani skipper Babar Azam has completely mastered the West Indies bowling attack over the past few years, recording five centuries against them, which is the highest number of tons he has scored against any single opponent in ODIs. He has piled up 717 runs across just 10 innings at an average of 79.66, against the Windies.
Kumar Sangakkara vs. India
Sri Lankan legend and former captain Kumar Sangakkara has compiled six centuries against India in ODIs, a significant feat that places him alongside some of the format's greatest run-scorers against the Men in Blue. In total, he amassed 2,626 runs against India in 73 matches, second only to Sanath Jayasuriya's tally.
Desmond Haynes vs. Australia
West Indies legend Desmond Haynes was a prolific century-maker against Australia, notching up an impressive six ODI hundreds against them throughout his career. His best performance was a sensational 148 he scored on his ODI debut on February 22, 1978. which was also the fastest century by an debutant at the time.
Ricky Ponting vs. India
Aussie great Ricky Ponting stamped his authority with six ODI centuries against India, throughout his career. His best performance came in the 2003 World Cup Final, where he ruthlessly demolished the Indian bowling attack with an unbeaten 140 runs off 121 balls, hitting four boundaries and eight sixes, to seal a decisive victory for Australia.
Rohit Sharma vs. Sri Lanka
Rohit Sharma has an exceptional record of six ODI centuries against Sri Lanka, a tally highlighted by his phenomenal best innings of 264 runs (the highest individual score in ODI history), at the Eden Garden in Kolkata in 2014. Interestingly, two out of Rohit Sharma's three double-hundreds in the 50-over format have come against Sri Lanka.
Ricky Ponting vs. New Zealand
Former Australian skipper and of the greatest batters of all time Ricky Ponting hit six ODI centuries against New Zealand, making the Black Caps one of his favorite oppositions in the format. This remarkable tally is currently the joint-most by any batsman against New Zealand in the history of One Day Internationals.
Gautam Gambhir vs. Sri Lanka
India's 2011 ODI World Cup final hero, Gautam Gambhir registered 6 ODI hundreds versus Sri Lanka, including a career-best unbeaten 150 runs in Kolkata in 2009. The current Team India head coach's fighting knock of 97 in the 2011 World Cup final, though just shy of a ton, stands out as his most crucial performance to secure India's victory.
Virat Kohli vs. New Zealand
Ace Indian batting icon Virat Kohli etched his name in history against New Zealand by scoring his record-breaking 50th ODI hundred, a spectacular 117 off 113 balls, in the 2023 World Cup semi-final at Wankhede Stadium. The knock contributed to his tally of six centuries against the Kiwis, throughout his glittering career.
AB de Villiers vs. India
South African maestro AB de Villiers registered six centuries in ODIs against India, with his most devastating innings being 119 off just 61 balls in Mumbai in 2015. De Villiers, also known by many as 'Mr. 360', maintained an impressive ODI batting average of 48.5 against the Indian team, tallying 1357 runs over 32 innings.
Adam Gilchrist vs. Sri Lanka
Adam Gilchrist dominated Sri Lankan throughout his career, recording 6 ODI centuries against them, which is the highest number of hundreds he scored against any single opposition. His best innings was a crucial 149 off 104 balls in the high-pressure environment of the 2007 ICC World Cup Final, an incredible match-winning effort.
Virender Sehwag vs. New Zealand
Virender Sehwag's ODI record against New Zealand is exceptional, marked by his blistering century in Hamilton in 2009, which was the fastest ODI century by an Indian at the time. The former opener holds the record for the most ODI hundreds against the Blackcaps, having scored a total of six centuries in 23 innings.
Quinton de Kock vs. India
South African wicket-keeper batter Quinton de Kock, who most recently came out of retirement to return to the Proteas white-ball setup, has amassed a remarkable total of six ODI centuries against the Men in Blue. He boasts and overall tally of 1,077 runs against India at an average of 53.85, with most of the run coming through tons.
Sanath Jayasuriya vs. India
Legendary Sri Lankan opener and ace all-rounder Sanath Jayasuriya notched up an impressive total of seven ODI centuries against India throughout his formidable career. He dominated the Indian bowling attack in the 2000 Champions Trophy final, smashing his career-best ODI score of 189 off 161 balls in Sharjah.
Saeed Anwar vs. Sri Lanka
Former Pakistani batting great Saeed Anwar was a nightmare for the Sri Lankan bowling attack, compiling seven ODI centuries out of his career total of 20. His personal best innings in this rivalry stands at 126 runs, that came off only 99 deliveries during a World Series match in Adelaide in 1990.
Aaron Finch vs. England
Former Australian captain Aaron Finch was particularly formidable against England in ODIs, achieving a total of seven centuries against them, which stands as the most by any Australian player against a single opposition in ODIs. His highest score was a 135 run-innings in a successful World Cup campaign in 2015.
Sachin Tendulkar vs. Sri Lanka
'Master Blaster' Sachin Tendulkar was exceptionally dominant against Sri Lanka, smashing a total of eight ODI centuries against them, which was, for a period, the highest number he scored against any single opponent in the format. His most defining ODI innings against them was the magnificent 138 runs in the Compaq Cup final in Colombo in 2009.
Virat Kohli vs. Australia
Virat Kohli has notched eight ODI centuries against Australia, in his career, but was recently dismissed for a duck in the first ODI in the ongoing India-Australia series. His overall tally of over 2,400 runs against them at an impressive average surpassing 54, cements his status as one of India's most successful batsmen against their fierce rivals.
Rohit Sharma vs. Australia
Ex-India captain Rohit Sharma has notched eight centuries against Australia in ODIs, placing him joint-second for the most centuries by any player against the six-time WC winners. His highest score is a sensational 209 off 158 balls in 2013, a knock that featured a record 16 sixes, cementing his status as one of the most destructive batsmen.
Sachin Tendulkar vs. Australia
The all-time run-getter in international cricket history, Sachin Tendulkar holds the record for the most ODI centuries against Australia with nine hundreds. Among his remarkable 9 ODI hundreds versus the Aussies, the 143-run innings in Sharjah in 1998 is often cited as his best, despite India losing the match itself.
Virat Kohli vs. West Indies
Virat Kohli boasts a phenomenal record against the West Indies in ODIs, having smashed a total of 9 centuries against them, highlighting his consistent dominance. The 36-year-old's best ODI innings against the West Indies is considered by many to be the unbeaten 157 off 129 balls, that he scored in Visakhapatnam in October 2018.
Virat Kohli vs. Sri Lanka
Virat Kohli's fourth appearance on this list is on top, as he holds the record for the most centuries by any batsman against a single opposition, with a staggering 10 hundreds to his name against Sri Lanka. His best performance against the Lions came in Hobart in 2012, where he scored an unforgettable 133 not out off just 86 balls.

