Skip to content
Foundation6

Fastest ODI Centuries in Cricket History

A complete guide to the fastest centuries in ODI history — from AB de Villiers' 31-ball record to Corey Anderson and other explosively fast hundreds that redefined batting boundaries in one-day cricket.

Written by GeoCric EditorialUpdated Jul 28, 2026
ShareShareWhatsAppFacebook

The fastest century in ODI cricket history was scored by AB de Villiers of South Africa in just 31 balls against the West Indies in Johannesburg in January 2015. This record epitomises the transformation of one-day batting since the early 2000s — the ability to score at 3 runs per ball for sustained periods has moved from impossible to expected for the game's elite strikers.

AB de Villiers — 31 Balls

AB de Villiers reached his century off 31 balls in the final overs of South Africa's innings against the West Indies in Johannesburg on 18 January 2015. He hit 16 fours and 9 sixes in an innings of 149 off 44 balls. South Africa posted 439 for 2 and won the match convincingly. The innings shattered Corey Anderson's record set just a year earlier and redefined what was possible in ODI batting.

Top 5 Fastest ODI Centuries

BallsBatsmanOpponentVenueYear
31AB de Villiers (SA)West IndiesJohannesburg2015
36Corey Anderson (NZ)West IndiesQueenstown2014
37Shane Bond (NZ)West IndiesQueenstown2014
45Sanath Jayasuriya (SL)PakistanSingapore1996
45Brian Lara (WI)BangladeshDhaka1999

The Anderson-Bond Connection

Notably, two New Zealanders — Corey Anderson (36 balls) and Shane Bond (37 balls) — held the second and third spots from a single ODI against the West Indies in Queenstown in January 2014. The match itself saw both players produce extraordinary hitting performances in a high-scoring game. De Villiers took the record less than a year later.

AB de Villiers' 31-ball century in 2015 shattered the previous ODI record by 5 balls and featured 16 fours and 9 sixes in an innings of 149 off just 44 balls total.

Fastest T20I Centuries

In T20I cricket, the fastest century record is held by David Miller of South Africa, who reached his hundred off 35 balls against Bangladesh in 2017. Rohit Sharma also scored a T20I century in 35 balls against Sri Lanka in 2017. The concentrated format of T20 cricket makes even these figures extraordinary given the defensive quality of international bowling attacks.

Frequently asked questions

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

AB de Villiers of South Africa scored the fastest ODI century in history — off just 31 balls against the West Indies in Johannesburg on 18 January 2015.

Who held the record before AB de Villiers?

Corey Anderson of New Zealand scored an ODI century off 36 balls against the West Indies in Queenstown in January 2014, holding the record for less than a year before de Villiers surpassed it.

What is the fastest T20I century?

David Miller of South Africa scored a T20I century off 35 balls against Bangladesh in 2017 — the fastest century in T20I history.