Home » Top 10 Players With Fastest Centuries In ODI (2025 Records)

Top 10 Players With Fastest Centuries In ODI (2025 Records)

November 19, 2025

AB de Villiers has scored the fastest century in ODIs in the world. He scored 149 runs in just 31 balls.

Scoring a century fast is rare in ODI cricket. Some players can hit 100 runs in very few balls. They hit many sixes and fours to reach the milestone quickly. 

These innings often change the result of the match. This list shows the fastest hundreds in ODI cricket till November 2025.

Top 10 Fastest Centuries in ODI Cricket

Here are the ten fastest centuries scored in ODI matches. These players reached 100 runs in the least number of balls.

NoPlayerRunsBalls4s6sOpponentDate
1AB de Villiers (SA)14931916West Indies18 Jan 2015
2Corey Anderson (NZ)131*36614West Indies1 Jan 2014
3Shahid Afridi (PAK)10237611Sri Lanka4 Oct 1996
4Glenn Maxwell (AUS)1064098Netherlands25 Oct 2023
5Asif Khan (UAE)101*41411Nepal16 Mar 2023
6Mark Boucher (SA)147*44810Zimbabwe20 Sep 2006
7Brian Lara (WI)11745184Bangladesh9 Oct 1999
8Shahid Afridi (PAK)10245109India15 Apr 2005
9Jesse Ryder (NZ)10446125West Indies1 Jan 2014
10Jos Buttler (ENG)116*46108Pakistan20 Nov 2015

All these innings were scored at very high strike rates. AB de Villiers holds the world record with just 31 balls. Jos Buttler has scored three centuries in the top 50 fastest list.

1. AB de Villiers – 149/31

AB de Villiers scored 149 runs in just 31 balls against the West Indies in Johannesburg on 18 January 2015. He hit 16 sixes and 9 fours during his innings. This is the fastest ODI century on record.

AB de Villiers's Fastest Century in ODI
Source: ESPNcricinfo

He reached 50 runs in 16 balls and completed his century in 31 balls. South Africa scored 439 runs in that match and won easily. This record has stood for over 10 years now.

2. Corey Anderson – 131*/36

Corey Anderson scored 131 runs without getting out off just 36 balls on 1 January 2014. He played against the West Indies in Queenstown. He hit 14 sixes and 6 fours during his knock.

Corey Anderson - Fastest Centuries in ODIs
Source: ESPNcricinfo

He held the world record for over a year before de Villiers broke it in 2015. New Zealand won the match by 159 runs after posting a big total. Anderson came to bat when the score was already good and added quick runs to help his team.

3. Shahid Afridi – 102/37

Shahid Afridi was just 16 years old when he scored 102 runs in 37 balls against Sri Lanka. He played this innings in Nairobi on 4 October 1996. He hit 11 sixes and 6 fours in what was his first ODI innings.

Shahid Afridi
Source: Deccan Chronicle

He made his ODI debut a game before this one, but didn’t get a chance to bat. He held the world record for 17 years until Corey Anderson broke it in 2014. Pakistan won the match by 82 runs, and this innings made Afridi famous around the world.

4. Glenn Maxwell – 106/40

Glenn Maxwell scored 106 runs in 40 balls during the 2023 World Cup match. He played against the Netherlands in Delhi on 25 October 2023. He hit 8 sixes and 9 fours to reach his century.

Glenn Maxwell
Source: Moneycontrol

Australia was already in a strong position when he came to bat at number 6. His century helped Australia post 399 runs on the board. Australia won the match by 309 runs in a one-sided contest.

5. Asif Khan – 101/41

Asif Khan scored 101 runs without getting out in 41 balls for the UAE against Nepal. He played this innings in Kirtipur on 16 March 2023. He hit 11 sixes and 4 fours during his stay at the crease.

Asif Khan
Source: India TV News

He became the first UAE player to appear on this list. UAE scored 310 runs in that match but lost the match by nine runs.

6. Mark Boucher – 147/44

Mark Boucher scored his century off just 44 balls on 20 September 2006. He played against Zimbabwe in Potchefstroom. He hit 10 sixes and 8 fours during his innings.

Mark Boucher
Source: ESPNcricinfo

Boucher was a wicketkeeper-batsman who usually batted lower in the order. South Africa scored 418 runs in that match, with Boucher coming in at number 4. He helped take the score past 400 runs, and South Africa won by 171 runs.

7. Brian Lara – 117/45

Brian Lara scored his century off 45 balls against Bangladesh in Dhaka on 9 October 1999. He hit 18 fours and 4 sixes during his innings. His score had more boundaries through fours than sixes, which was unusual for such a fast innings.

Brian Lara
Source: ESPNcricinfo

West Indies scored 314 runs in that match after Lara’s quick century. He reached his hundred in exactly 45 balls. West Indies won the match by 109 runs.

8. Shahid Afridi – 102/45

Shahid Afridi appears twice in the top 10 list of fastest centuries. On 15 April 2005, he scored 102 runs off 45 balls against India in Kanpur. He hit 9 sixes and 10 fours during his innings.

Shahid Afridi
Source: ESPNcricinfo

His innings helped Pakistan chase down the target of 250 runs in 42.1 overs with five wickets in hand. Afridi won the Player of the Match award for his batting performance.

9. Jesse Ryder – 104/46

Jesse Ryder scored a century off 46 deliveries on 1 January 2014 against the West Indies. He played this innings in Queenstown, the same match where Corey Anderson broke the world record.

Jesse Ryder
Source: Sky Sports

He hit 5 sixes and 12 fours during his time at the crease. Two New Zealand players scored fast centuries in the same match, which was rare. New Zealand scored 283 runs and won the match by 159 runs.

10. Jos Buttler – 116/46

Jos Buttler scored the fastest century for England off just 46 balls against Pakistan in Dubai on 20 November 2015. He hit 8 sixes and 10 fours to reach his century.

Jos Buttler
Source: ESPNcricinfo

Buttler usually bats in the middle order for England and finishes the innings. England scored 355 runs in that match and won by 84 runs.

Country-Wise Breakdown of Fastest ODI Centuries

Different countries have produced players who can score fast centuries in ODI cricket. Some countries have more players on this list than others based on their batting approach.

Top Countries with Most Fastest Centuries:

  • South Africa: 8 centuries (AB de Villiers scored 4, Heinrich Klaasen scored 2, Mark Boucher scored 1, Quinton de Kock scored 1)
  • England: 7 centuries (Jos Buttler scored 5, Eoin Morgan scored 1, Alex Hales scored 1)
  • Sri Lanka: 6 centuries (Sanath Jayasuriya scored 5, Tillakaratne Dilshan scored 1)
  • Pakistan: 6 centuries (Shahid Afridi scored 4, Sharjeel Khan scored 1, Fakhar Zaman scored 1)
  • Australia: 5 centuries (Glenn Maxwell scored 2, Adam Gilchrist scored 2, Shane Watson scored 1)
  • India: 5 centuries (Virender Sehwag scored 4, Virat Kohli scored 1)
  • New Zealand: 4 centuries (Corey Anderson scored 1, Jesse Ryder scored 2, Michael Bracewell scored 1)
  • West Indies: 4 centuries (Chris Gayle scored 2, Brian Lara scored 1, Evin Lewis scored 1)

South Africa and England have the most entries in the fastest centuries list across ODI cricket. AB de Villiers and Jos Buttler appear multiple times because of their consistent fast scoring.

Source: BBC

Sri Lanka’s Sanath Jayasuriya was one of the first players to score many fast centuries in the 1990s and 2000s. Pakistan’s Shahid Afridi held the world record for 17 years from 1996 to 2013.

Also Read:

Conclusion: AB de Villiers has Scored Fastest Century In Just 31 Balls

AB de Villiers’ 31-ball century is still the fastest after ten years. Several players have come close to this record but none have broken it yet. 

Glenn Maxwell, Jos Buttler, and Heinrich Klaasen continue to score fast hundreds in recent matches.

Fast centuries show how batsmen approach ODI cricket in the modern era. Players are scoring runs quicker than they did in earlier decades. 

FAQs

Who has scored the most fast centuries in ODI cricket?

Jos Buttler has scored five centuries in 75 balls or fewer across his ODI career. AB de Villiers has scored four such centuries during his playing days. These two players appear most often on the fastest centuries list in ODI history.

Has any player scored a century in under 30 balls in ODI cricket?

No player has scored a century in under 30 balls in ODI cricket. AB de Villiers’ 31-ball century remains the fastest on record. No one has reached 100 runs in fewer than 31 balls in ODI history so far.

Which venue has seen the most fast centuries?

Queenstown in New Zealand saw two fast centuries in one match on 1 January 2014. Corey Anderson scored his century in 36 balls while Jesse Ryder scored in 46 balls. This is the only time two players scored such fast centuries in the same ODI match.

Can AB de Villiers’ record be broken?

The record is difficult to break, but it is possible for someone to do it. A player would need to hit almost every ball for a boundary to beat this record. They would need both power and timing to score so quickly. The record has stood since 2015 without anyone coming close.

Which team has faced the most fast centuries?

West Indies has been on the receiving end of several fast centuries over the years. Players like AB de Villiers, Corey Anderson, Jesse Ryder, and Jos Buttler have all scored fast hundreds against them. Their bowling has struggled against aggressive batsmen in several matches.

Benjamin Harper is a seasoned sports journalist specializing in Canadian cricket, with over five years of firsthand reporting. He has a Bachelor's graduate in Sports Journalism, his expert match analysis and exclusive interviews deliver authoritative, trustworthy insights to cricketca.ca audiences.

Scroll to Top