SportsMonkie
Cricket

The Fastest Century in ODI Cricket: Record-Breaking Tons

The fastest centuries in ODI cricket have been scored in under 35 balls. This article covers the record holders, the context, and what makes an ultra-fast hundred possible.

By SportsMonkie Editorial Updated June 29, 2026

AB de Villiers of South Africa holds the record for the fastest century in ODI cricket, reaching 100 runs off just 31 balls against the West Indies in Johannesburg in January 2015. His innings redefined what was considered humanly possible in 50-over cricket and remains the global benchmark for ODI batting speed.

The Record: AB de Villiers vs West Indies (2015)

De Villiers’ 31-ball century came in the third ODI of a series played at the Wanderers Stadium. Coming in to bat with South Africa already well-set, he launched a sustained assault across the entire ground. He scored 149 runs off 44 balls in total — including 16 sixes and 9 fours — in an innings that compressed the norms of batting aggression to a new extreme.

The conditions were not uniquely flat: the Wanderers is a fast outfield but the bowling attack was credible international level. What separated de Villiers was the range and repeatability of his shot-making.

Top 5 Fastest ODI Centuries

BallsPlayerOpponentYearVenue
31AB de Villiers (SA)West Indies2015Johannesburg
36Corey Anderson (NZ)West Indies2014Queenstown
37Shahid Afridi (PAK)Sri Lanka1996Nairobi
45Mark Boucher (SA)Zimbabwe2006Potchefstroom
45Brian Lara (WI)Bangladesh1999Dhaka

Figures from ESPNcricinfo records. Minor variations may exist across official and unofficial records.

Corey Anderson’s Short Reign

Before de Villiers shattered the record, New Zealand’s Corey Anderson had set a then-world record of 36 balls against the same West Indies side in January 2014 in Queenstown. Anderson’s record stood for only about 13 months — making it one of the shortest-lived major batting records in ODI history.

Shahid Afridi’s Long-Standing Record

What makes the Afridi entry remarkable is longevity. His 37-ball century against Sri Lanka in the 1996 Wills World Series in Nairobi stood as the world record for nearly 18 years. Afridi was just 16 years old at the time and it remains one of the most remarkable debut-phase performances in cricket history.

What Makes an Ultra-Fast Century Possible?

Several factors converge when a batter threatens century records:

  • Batting position: Most record holders bat at 4 or 5, arriving when fielding restrictions are partially relaxed but scoring pressure is highest, freeing them to attack.
  • Match situation: A team already in a strong position removes the need for accumulation — the batter can swing from the first ball.
  • Ground dimensions and outfield: Smaller grounds and fast outfields maximise boundary conversion.
  • Conditions: Dry, flat pitches with little lateral movement allow bats to find the middle consistently.
  • Opposition bowling: Even world-class bowlers can be taken apart by a player with high intent, elite hand speed, and a full 360-degree shot range.

Modern Context

With T20 cricket normalising strike rates above 150, ODI batting has accelerated across the board. Batters trained in franchise T20 leagues carry those instincts into the 50-over game, meaning the conditions for ultra-fast centuries now occur more frequently than they did in the 1990s or early 2000s.

Quick summary: AB de Villiers holds the ODI century record at 31 balls (2015). Before him, Corey Anderson (36 balls, 2014) briefly held the mark, and Shahid Afridi’s 37-ball hundred (1996) stood as the record for nearly 18 years. Ultra-fast centuries require a perfect storm of batting intent, match situation, and conditions.

Frequently asked questions

Who holds the record for the fastest century in ODI cricket?+

AB de Villiers of South Africa holds the record, scoring a century off just 31 balls against the West Indies in January 2015.

What is the fastest century by an Indian player in ODI cricket?+

Virender Sehwag scored a century in 60 balls against New Zealand in 2009, which was among the fastest by an Indian in ODIs. Other Indians including Rohit Sharma have recorded quick centuries as well.

How many balls does a normal ODI century take?+

A typical ODI century takes somewhere between 80 and 130 balls. An 'aggressive' hundred usually comes in 60 to 80 balls, while anything under 50 balls is considered exceptionally fast.

Sources