Where does Cameron Green’s Mackay mayhem rank among 11 fastest ODI centuries?
Even though ODI cricket is not played to the extent that it was in the late 1990s and early 2000 it is still very much a staple of the international calendar.
What is interesting is how the rise of T20I cricket has influenced the 50-over game, with the shots that are played increasingly audacious, the strike-rates shooting skywards and the level of invention seemingly through the roof.
When Dennis Amiss scored the first ever ODI ton back in 1972, it came off a fairly brisk 134 balls. But things have progressed since then – let’s take a look at the 11 fastest ODI centuries.
1. AB de Villiers (South Africa): 31 balls
- vs West Indies, Johannesburg, 2015
When AB de Villiers walked out at the Bullring on a hot January day in 2015, nobody could have foreseen the carnage that was about to unfold. South Africa were already well set thanks to centuries from Hashim Amla and Rilee Rossouw.
But de Villiers took the innings into a completely different stratosphere. He reached three figures in just 31 balls, smashing 16 sixes and nine fours, and finishing with 149 from 44 deliveries.
The West Indies attack had no answers as the ball disappeared to all parts of the Wanderers. It remains the fastest ODI hundred in history and is arguably the defining innings of de Villiers’ career – the moment he truly cemented his reputation as ‘Mr 360’.
2. Corey Anderson (New Zealand): 37 balls
- vs West Indies, Queenstown, 2014
Before de Villiers, the record belonged to New Zealand’s Corey Anderson, who stunned the cricketing world on New Year’s Day in 2014. Played on a small ground in Queenstown, Anderson cut loose against a hapless West Indies bowling unit.
His hundred came in just 37 balls, featuring 14 sixes and six fours, and he finished unbeaten on 131 from 47 balls.
At the time, it was hailed as a once-in-a-generation effort. Anderson’s ability to generate raw power and clean hitting made him the perfect prototype for the T20 era – and though his career was ultimately hindered by injuries, this innings ensures he will never be forgotten.
3. Shahid Afridi (Pakistan): 40 balls
- vs Sri Lanka, Nairobi, 1996
Perhaps the most famous of all the fastest ODI tons belongs to Shahid Afridi. Barely 16 years old and playing only his second ODI, Afridi was sent in to open the batting in Nairobi during the KCA Centenary Tournament. What followed was something the game had never seen before.
Afridi blasted a 37-ball hundred (later corrected to 40 after scorecard revisions), filled with towering sixes that flew into the stands. He struck 11 sixes and six fours in his 102, announcing himself to the cricketing world in unforgettable fashion.
For years, it was the fastest ODI century, and for many fans, it encapsulated Afridi’s career; explosive, unpredictable, and always entertaining.
Also read: Highest innings totals in ODIs – Australia join impressive list
4. Glenn Maxwell (Australia): 41 balls
- vs Netherlands, Delhi, 2023
At the 2023 World Cup, Glenn Maxwell produced one of the most astonishing displays of hitting the tournament had ever witnessed. Against the Netherlands in Delhi, Maxwell reached his century in just 41 balls, treating the Dutch attack with disdain.
It was the fastest ever World Cup hundred at the time, and the innings underlined Maxwell’s ability to innovate and improvise under pressure.
With reverse sweeps, switch hits, and conventional power strokes, Maxwell provided a modern-day masterclass that fitted perfectly into the narrative of T20 influence on ODI batting.
5. Asif Khan (United Arab Emirates): 44 balls
- vs Nepal, Kirtipur, 2023
In the associate world, feats like this often go under the radar, but Asif Khan’s 44-ball century for the UAE against Nepal in 2023 deserves its place in history. The right-hander showcased clean hitting and composure under pressure, blazing eight fours and 11 sixes.
Though it came outside the realm of the Test-playing elite, this innings was a reminder that batting talent is not confined to the traditional powerhouses. For the UAE, it was a breakthrough moment that highlighted the growth of cricket in emerging nations.
6. Mark Boucher (South Africa): 45 balls
- vs Zimbabwe, Potchefstroom, 2006
Known more for his wicketkeeping and gritty lower-order runs, Mark Boucher stunned everyone when he smashed a 45-ball ton against Zimbabwe in 2006.
Batting at number seven, Boucher took full advantage of a weakened attack and short boundaries to record the fastest century by a wicketkeeper at the time.
He ended on 147 from 68 balls, including 10 sixes, as South Africa piled up 418. While the innings came against modest opposition, it underlined the batting depth South Africa had in the mid-2000s and remains one of the highlights of Boucher’s long career.
7. Brian Lara (West Indies): 45 balls
- vs Bangladesh, Dhaka, 1999
Brian Lara’s genius was usually associated with classical stroke-play and monumental Test innings, but in Dhaka in 1999 he produced something altogether more brutal.
Facing Bangladesh, then still an emerging side, Lara tore into the bowling and reached three figures in only 45 balls.
It was a rare glimpse of Lara in all-out attacking mode in the ODI format. He finished with 117 from 62 balls, an innings that combined elegance with power. For West Indies fans, it was yet another reminder of just how versatile Lara could be.
8. Shahid Afridi (Pakistan): 45 balls
- vs India, Kanpur, 2005
Afridi features again on this list, this time for his 45-ball hundred against arch-rivals India in Kanpur. Chasing 250, Afridi opened the innings and launched a ferocious assault on the Indian bowlers, hammering seven fours and 10 sixes.
The ton set the tone for Pakistan’s successful chase and added another chapter to Afridi’s storied career. Few players could take the game away as quickly as Afridi, and against India no less, this innings carried extra significance.
Afridi was one of those rare players who had the ability to clear the fence easily, even when he miss-timed his shots.
9. Jesse Ryder (New Zealand): 46 balls
- vs West Indies, Queenstown, 2014
On the same day Corey Anderson broke Afridi’s long-standing record, his teammate, opening batsman Jesse Ryder also joined the record books. Ryder reached his hundred in just 46 balls, peppering the small ground in Queenstown with powerful pulls and drives.
He scored 104 from 51 balls, including 12 fours and five sixes, before falling to Jason Holder. While Anderson stole the headlines, Ryder’s knock was equally destructive and reminded everyone of his prodigious, if largely unfulfilled talent.
What made this game different was the fact that it was more of a T20I given that rain had curtailed the innings and the Black Caps only got to face 21 overs.
10. Jos Buttler (England): 46 balls
- vs Pakistan, Dubai, 2015
By 2015, Jos Buttler had already established himself as one of the most dangerous white-ball batsmen in the world, but his 46-ball ton against Pakistan in Dubai confirmed his status as England’s premier finisher.
Batting at four, Buttler unleashed a breathtaking array of strokes, clearing the ropes with ease and dismantling Pakistan’s attack.
His hundred remains England’s fastest in ODIs, emblematic of the aggressive new approach that would culminate in World Cup glory four years later.
11. Cameron Green (Australia): 47 balls
- vs South Africa, Mackay, 2025
The most recent addition to the list came from Australia’s Cameron Green in Mackay in 2025.
Known initially for his promise as a red-ball all-rounder, Green demonstrated his evolving white-ball credentials with a blistering 47-ball century on a day when South Africa were made to toil.
Against a strong South African attack, Green combined classical drives with raw hitting power.
His ability to accelerate at will has made him one of the most exciting all-format players in the game, and this innings could be the moment that transforms him from potential to established ODI superstar.
Green’s knock came in dead-rubber game with the series already in the bag for South Africa.
But that should not detract from a fine knock that was launched off the incredible platform laid for him by openers Travis Head and Mitchell Marsh who shared a 250-run stand for the first wicket.
Fastest ODI centuries – top 11 summary list
1. AB de Villiers (South Africa): 31 balls
2. Corey Anderson (New Zealand): 37 balls
3. Shahid Afridi (Pakistan): 40 balls
4. Glenn Maxwell (Australia): 41 balls
5. Asif Khan (UAE): 44 balls
6. Mark Boucher (South Africa): 45 balls
7. Brian Lara (West Indies): 45 balls
8. Shahid Afridi (Pakistan): 45 balls
9. Jesse Ryder (New Zealand): 46 balls
10. Jos Buttler (England): 46 balls
11. Cameron Green (Australia): 47 balls
Read next: Ranked – The 7 bowlers who reached 50 wickets in T20I cricket the fastest