AB de Villiers holds the record for the fastest century in One Day International (ODI) cricket. He scored 100 runs in just 31 balls against the West Indies on January 18, 2015, in Johannesburg. This amazing record is still the fastest hundred ever made in ODI history.
In One-Day International (ODI) cricket, nothing is more exciting than a batsman scoring runs very, very quickly. A normal hundred is a great achievement, but a hundred that comes in just a few balls is something truly special. It’s like watching a superhero at work!

These fast hundreds, also called centuries, can completely change a game in a very short time. A batsman who scores a fast hundred hits the ball with amazing power and skill, sending it for fours and sixes again and again.
Let’s look at the 10 fastest hundreds ever scored in the history of ODI cricket.
10. Sanath Jayasuriya (Sri Lanka)
Balls for 100 | Final Score | Against | Venue | Year |
48 | 134 | Pakistan | Singapore | 1996 |
Sanath Jayasuriya was one of the first batsmen to show the world how to attack from the very first ball. In this match, he was unstoppable.
He hit the ball with so much power that the Pakistani bowlers did not know where to bowl to him. His 48-ball century was a world record at the time and showed everyone a new and exciting way to play cricket.
9. Jos Buttler (England)
Balls for 100 | Final Score | Against | Venue | Year |
46 | 116* | Pakistan | Dubai, UAE | 2015 |
Jos Buttler is known as one of the most dangerous batsmen in modern cricket. He can hit the ball to any part of the ground.
In this innings, he was at his very best. He came in to bat late in the innings and started hitting sixes right away. It was an amazing show of power-hitting that left everyone speechless.
8. Jesse Ryder (New Zealand)
Balls for 100 | Final Score | Against | Venue | Year |
46 | 104 | West Indies | Queenstown | 2014 |
On a small ground in New Zealand, Jesse Ryder played an innings of pure power. In a match that was shortened by rain, Ryder knew he had to score quickly. He smashed the West Indies bowlers for many huge sixes.
He and Corey Anderson (who we will see later on this list) completely destroyed the bowling attack on that day.
7. Shahid Afridi (Pakistan)
Balls for 100 | Final Score | Against | Venue | Year |
45 | 102 | India | Kanpur | 2005 |
Shahid “Boom Boom” Afridi is famous for hitting big sixes. In this match against arch-rivals India, he was in a hurry. From the moment he walked in, he attacked every bowler. He did not care about defending; he just wanted to hit boundaries.
His 45-ball hundred was so fast that it stunned the Indian team and helped Pakistan win the match easily.
6. Brian Lara (West Indies)
Balls for 100 | Final Score | Against | Venue | Year |
45 | 117 | Bangladesh | Dhaka | 1999 |
The great Brian Lara was known for his beautiful and graceful batting, but he could also score very fast when he wanted to. In this match, he showed his aggressive side.
He hit the Bangladesh bowlers all over the park with his quick wrist-work and amazing timing. It was a reminder that a truly great batsman can play any kind of innings.
5. Mark Boucher (South Africa)
Balls for 100 | Final Score | Against | Venue | Year |
44 | 147* | Zimbabwe | Potchefstroom | 2006 |
Mark Boucher was a wicket-keeper known for being a tough fighter. In this match, he played the innings of his life. South Africa was already scoring quickly, and Boucher came in and took it to another level.
He hit the ball cleanly and powerfully, racing to his hundred in just 44 balls. At the time, it was the second-fastest hundred ever.
4. Asif Khan (UAE)
Balls for 100 | Final Score | Against | Venue | Year |
41 | 101* | Nepal | Kirtipur | 2023 |
Asif Khan from the UAE played a truly special innings to get on this famous list. Playing against Nepal, he showed that players from smaller cricketing nations can also create history.
Top 10 Fastest 150s in ODI Cricket History
He hit the ball with amazing power, including 11 sixes, to score his hundred in just 41 balls. It was a proud day for him and his country.
3. Shahid Afridi (Pakistan)
Balls for 100 | Final Score | Against | Venue | Year |
37 | 102 | Sri Lanka | Nairobi | 1996 |
This is the innings that made Shahid Afridi a global superstar. He was only 16 years old and playing in his first-ever international innings. He came out and started hitting the ball so hard, it was unbelievable.
He hit 11 sixes and set a new world record for the fastest hundred that stood for almost 18 years. It is still one of the most famous innings in cricket history.
2. Corey Anderson (New Zealand)
Balls for 100 | Final Score | Against | Venue | Year |
36 | 131* | West Indies | Queenstown | 2014 |
On New Year’s Day in 2014, Corey Anderson broke Shahid Afridi’s long-standing record. In the same match where Jesse Ryder also scored a fast hundred, Anderson was even faster.
He hit the ball out of the small Queenstown ground again and again, hitting 14 sixes in total. The West Indies bowlers had nowhere to hide as Anderson made history with his incredible power.
1. AB de Villiers (South Africa)
Balls for 100 | Final Score | Against | Venue | Year |
31 | 149 | West Indies | Johannesburg | 2015 |
The number one spot belongs to the amazing AB de Villiers, also known as “Mr. 360.” This innings was simply out of this world. He came in to bat late in the innings and from the very first ball, he started playing shots that no one had ever seen before.
He hit the ball all around the ground, in every direction. He reached his hundred in a mind-boggling 31 balls, a record that seems almost impossible to break. He hit 16 sixes and played an innings that is considered the greatest display of hitting in ODI history.