Top 10 fastest century in ODI – De Villiers, Afridi, Lara and more

There is nothing more special for a batsman in cricket than scoring lots of runs for your country and helping in its success. The cheery on the top comes if the player clears the three-figure mark which is both a personal achievement and a contribution to the country's score.

With the arrival of the T20 cricket and training and diet improvement, the scoring rates have increased many folds and the players are scoring centuries in ridiculously lesser balls compared to previous generations.

In this article, we will look at the top 10 fastest century in ODI cricket.

Player Match Played Balls

AB de Villiers

South Africa vs West Indies

31 balls

Corey Anderson

New Zealand vs West Indies

36 balls

Shahid Afridi

Pakistan vs Sri Lanka

37 balls

Asif Khan

UAE vs Nepal

41 balls

Mark Boucher

South Africa vs Zimbabwe

44 balls

Brian Lara

West Indies vs Bangladesh

45 balls

Shahid Afridi

Pakistan vs India

45 balls

Jesse Ryder

New Zealand vs West Indies

46 balls

Jos Buttler

England vs Pakistan

46 balls

Jos Buttler

England vs Netherlands

47 balls


1. AB de Villiers – South Africa vs West Indies (31 balls)

fastest century in odi

This great batsman from South Africa is first in the list of top 10 fastest century in ODI. He scored the century in just 31 balls against the West Indies in the second ODI in Johannesburg, which helped Proteas reach a total of 439/2. The team later went on to win the game by 148 runs.

AB de Villiers' innings comprised sixteen sixes and nine fours which were enough to knock the wind out of West Indians. He went on to score 149 runs off only 44 balls with a whopping strike rate of 338.63.

AB de Villiers came in to bat in the 39th over with the SA scoreboard reading 247 for 1. Forget about a century, with just about 11 overs to go, nobody is expected to score even a half-century. Such was the brutality of this innings that De Villiers not only scored a century but almost made it to 150.

When South Africa crossed 300 in the 42nd over, no one expected them to cross 400 with just about 8 overs to go. But the brutal but calculated innings from De Villiers meant SA reaching 439 and demolishing all Windies' hopes for a win.

2. Corey Anderson – New Zealand vs West Indies (36 balls)

fastest century in odi

The second fastest century in ODI also came against West Indies and it was scored by New Zealand’s Corey Anderson on new year's day in 2014. He is second in the top 10 fastest century in ODI list. He smashed the Windies bowlers all over the park and scored 100 runs in just 36 balls.

New Zealand went on to win the game by 159 runs. Anderson was not out in the innings with a total of 131 runs off 47 balls scoring 14 sixes and 6 fours in the process at a strike rate of 278.72.

It was a shortened game that was reduced to just 21 overs for each side. Anderson Came in to bat at number 5 with just 84 runs on the board for New Zealand. He stayed till the end helping New Zealand post 283. One can only imagine how many runs Anderson would have scored if it were a full ODI match.

3. Shahid Afridi – Pakistan vs Sri Lanka (37 balls)

fastest century in odi

Shahid ‘Boom Boom' Afridi announced his arrival on the Internation Cricket scene in 1996 by scoring the fastest century in ODI at that time in just 37 balls. It was his second One Day International and he later went on to achieve great success with Pakistan but this achievement is one for the history books.

Sri Lanka was on receiving end of his eccentric batting performance. Afridi smashed 11 sixes, which was rare in that era, along with 6 fours. He helped the Pakistan team win the game by 82 runs with his all-around performance.

This special inning from Afridi was way ahead of its time. Such was the brutality of this innings that the record stood for almost 18 years before Anderson bettered it. One can say that this particular inning from Afridi paved the way for modern day batting.

4. Asif Khan – UAE vs Nepal (41 Balls)

Asif Khan

This knock came in a match between the United Arab Emirates and Nepal on March 16, 2023. Batting at number seven, Asif Khan played a blinder of a knock and helped take the team's total past 300 runs. He came to bat when the team's score was 175 for five in the 38th over and stitched a partnership of 135 runs with Vriitya Aravind. During his stay in the crease, Asif Khan hit four fours and 11 sixes. His century came off just 41 deliveries and put him in fourth position on this esteemed list. At the end of the innings, Asif remained unbeaten on 101 runs off 42 deliveries.This knock of Asif Khan put the UAE total beyond Nepal's reach. Nepal was restricted to 269 for 6 in their 50 overs, as UAE won the match by 41 runs.

5. Mark Boucher – South Africa vs Zimbabwe (44 balls)

fastest century in odi

One of the key members of the South African golden generation, the wicket-keeper batsman Mark Boucher scored a quick hundred in just 44 balls. He came in when the stage was set by the openers for a grand finish and his innings comprising of 8 fours and 10 sixes provided exactly that.

While Boucher completed the century in just 44 deliveries, he eventually went on to score 147 runs in 68 deliveries. South Africa posted a mammoth total of 418 runs. Chasing this huge total, Zimbabwe lost the game by 171 runs.

Boucher would be the last person one would expect on this list of the top 10 fastest century in ODI. He was such a utility batsman and a team player that he used the stage set by the top order and smashed a quick-fire century to help South Africa post a 400+ score for the second time in 2006.

6. Brian Lara – West Indies vs Bangladesh (45 balls)

fastest century in odi

Brain Lara has held multiple records in all formats of the game be it Test cricket or ODIs. Many know him for his record of scoring 400 runs in a test match few know his quickfire century in just 45 balls against Bangladesh in 1999.

He was supported by Shivnarine Chanderpaul when all others were not able to spend significant time at the crease. His century is the fifth fastest century in ODI. He contributed with his bowling too in the same game taking 2 wickets and giving away just 12 runs in the process. He helped the team to post a total of 314 runs which West Indies went on to defend and win the game by 109 runs.

Top 10 Greatest Batsmen of All-time in Cricket

Lara’s inning was laden with fours instead of sixes. He hit 18 fours, the highest on this list, and just 4 sixes on his way to 45 ball century. This is also one of the three innings from the 20th century on this list. Lara ended the innings on 117 off 62 deliveries with a strike rate of close to 190.

7. Shahid Afridi – Pakistan vs India (45 balls)

Afridi never stopped and made consistent runs throughout his elongated career. He came back about 9 years later after that masterclass on debut to score another scintillating century against India.

Nothing would have satisfied him more than scoring a 45-ball century against arch-rivals India. He scored while chasing the target of 250 runs and his innings crushed any hopes of India winning the game and the series.

His century came at the time when the Pakistan vs India rivalry was at its peak in the summer of 2005. He scored 9 sixes and 10 fours in the innings which lead to his team winning the game and the tournament. Afridi ended up scoring 102 runs in 46 deliveries at a strike rate of 221.74.

8. Jesse Ryder – New Zealand vs West Indies (46 balls)

fastest century in odi

This game between New Zealand and West Indies is talked about extensively in the context of Corey Anderson scoring the fastest century in ODI at that time. However, the Legacy and individual record of Jesse Ryder are not talked about enough. Perhaps because of the manner in which his career went downhill. But there’s no denying that Jesse Ryder was one of the most naturally gifted cricketers ever produced.

Coming back to this inning, Ryder set up the platform with his century in just 46 balls for hard-hitting strikers like Corey. He scored 5 sixes and 12 fours to achieve this feat with a strike rate of 203. He along with Corey disrupted the line and length of the West Indies bowlers.

This is the same innings where Corey Anderson scored his fastest century in just 36 deliveries. Two batters feature in this list from the same match. Fancy that.

9. Jos Buttler – England vs Pakistan (46 balls)

fastest century in odi

The modern-day legend of English Cricket, Jos Buttler came to bat when England needed some stability in the middle order after some quick wickets of the top order. Not only did he provide the stability, but he also took the game from Pakistan by scoring one of the fastest centuries in ODI in just 46 balls in 2015 at the Dubai International cricket stadium.

Soring at the strike rate of 223.08 with 8 sixes and 10 fours, this English batsman helped the team reach a total of 355 runs in fifty overs. Another centurion from England in the same match, Jason Roy, barely managed a strike rate of 87 compared to the 200+ strike rate from Buttler.

Pakistan were all out in the 41st over for just 271 runs. England won the match by 83 runs thanks to Buttler’s magnificent innings. Due to his brilliant effort, he was awarded man of the match and man of the series.

10. Jos Buttler – England vs Netherlands (47 balls)

This is the latest entry to the list of the top 10 fastest century in ODIs.

In this innings, Jos Buttler needed a ball extra to complete the century compared to his previous best of 46 ball century against Pakistan back in 2015.

Buttler’s second fastest century came against the Netherlands on 17th June 2022 at VRA Ground, Amstelveen. Coming in to bat at number 4, Jos Buttler completed the century in just 47 balls. What’s more, he scored about 60 runs in the next 23 deliveries.

Eventually, Buttler ended up with the figures of 162 not-out in 70 deliveries at a stupendous strike rate of 231.43. He hit 14 towering sixes and 7 fours in this innings helping England post the highest ODI score of 498 in 50 overs.

Incidentally, Buttler was the third centurion from the English camp in addition to Phil Salt and Dawid Malan. Netherlands had no response to this brutal innings from Buttler as they folded for just 266 runs handing a massive 232-run victory to England.

Top 10 fastest centuries in ODIs by Indians

India has been home to several star batsmen, who have lit up the cricket world with their technique and firepower. These superstars made their mark in all formats, but the one-day international (ODI) format especially saw some of the most spectacular innings. And we bring to you the ten best ones.

Here are the top 10 fastest centuries in ODIs by Indians.

Virat Kohli – India vs Australia (52 balls)

the fastest century in ODI by Indians

This 2013 match looked out of India’s reach once Australia blitzed to 359/5 in their 50 overs. Five Aussie batsmen scored half-centuries in Jaipur, but the Indian reply quickly overshadowed their contributions.

India got off to a flyer thanks to Rohit Sharma and Shikhar Dhawan, with the two openers putting together 176 runs. But the real hero arrived on the scene after Dhawan’s dismissal. Virat Kohli scored the fastest century for an Indian; 100* in 52 balls. Kohli smashed a bowling line-up featuring Mitchell Johnson, Clint McKay, Shane Watson, and James Faulkner to all parts of the stadium.

Kohli hit eight fours and seven sixes to take India to a historic 362/1 with 39 deliveries to spare. Kohli is not one of those who likes to take the game to the last over. It was uncharacteristic for him to score these many sixes in an inning. It was a true batting wicket and Kohli was in the form of his life. What followed was the masterclass of modern batting. Not to mention, Kohli was not out on 100 when India won the match.

Virender Sehwag – India vs New Zealand (60 balls)

the fastest century in ODI by Indian

As you will see going ahead in this article, Virender Sehwag will rule this list for the Indian betters with the fastest ODI centuries. During this fiery knock, Virender Sehwag bested not just the New Zealand bowlers in their home but also the weather. After New Zealand posted 270/5 in their 47 overs, Sehwag and partner Gautam Gambhir took India home.

There were multiple rain stoppages in Hamilton, but nothing could stop Sehwag’s attack. His century came in 60 balls, which was at the time the fastest century in ODI by Indians. Sehwag took the likes of Kyle Mills and Daniel Vettori to the cleaners, hitting 14 fours and six sixes in 115*. India reached the revised target of 201 in 23.3 overs and registered a rare and famous win in 2009. Sehwag ended up scoring 125 not out in 74 deliveries at about 170 strike rate and was adjudged player of the match.

Virat Kohli – India vs Australia (61 balls)

Virat Kohli’s second appearance in the list of the fastest century in ODI by Indians comes from the same 2013 series against Australia. Two weeks after smashing 100 in Jaipur, Kohli thrashed Australian bowlers in Nagpur. It was the beginning of the Kohli era and boy he had announced himself well.

The visitors had again put up an imposing target of 350/6 thanks to centuries from Shane Watson and George Bailey. In reply, India again got off to a quick start thanks to Shikhar Dhawan and Rohit Sharma. Rohit’s dismissal brought Kohli to the crease, who was relentless from the start.

Kohli punished the Aussie bowlers with 18 fours and one six. With the majority of boundaries coming in fours, it was a low risk responsible innings. And yet, such was the pace that it ended up in the list of the top 10 fastest centuries by an Indian.

India chased the target with three balls to spare as Kohli remained unbeaten on 115. He, later on, made it a habit of helping India chase down some mammoth totals and staying at the crease when the winning moment happens.

Mohammad Azharuddin – India vs New Zealand (62 balls)

the fastest century in ODI by Indian

Mohammad Azharuddin is one of the classiest and most elegant players India has ever produced. But he was as fierce as he was classy. This 1998 quick-fire hundred by Mohammad Azharuddin came when the strike rates were ‌lower and batsmen put a lot of price on their wickets.

Chasing New Zealand’s 278/3, India was 118 for 4 when Azharuddin walked in. What followed was strokeplay of the highest order. The classical batsman took on Danny Morrison and Co., hitting 10 fours and three sixes.

Azhar brought up his century in 62 balls, the fastest century in ODI by Indians at the time. India lost wickets, but Azharuddin stuck around with 108* to take India to 282/8 and secure a two-wicket win at Vadodara. Chasing scores close to 300 was not a norm in those days. Azhar was hailed for such a calculated inning for a very long time.

Yuvraj Singh – India vs England (64 balls)

the fastest century in ODI by Indian

Yuvraj Singh, the southpaw, was elegant and brutal at the same time with a gift of timing very few possess. This particular knock came against England in 2008 at Rajkot. India had already set the tone in this game with Gautam Gambhir and Virender Sehwag putting on 107 runs for the first wicket. Soon, an in-form Yuvraj Singh took the strike and put on a batting clinic.

England had an all-star bowling line-up of James Anderson, Stuart Broad, Steve Harmison, and Andrew Flintoff. None of them could contain the stylish Yuvraj, who plundered 16 fours and six sixes. The lefty scored his century in 64 balls and went on to score a 78-ball 138.

Also read -> Ranking the five best moments in Yuvraj Singh’s cricket career

India scored 387/5 thanks to Yuvraj’s heroics before the bowlers restricted England’s reply to 229. He certainly seemed to have taken a liking to England's bowling after the 6-ball 6-sixes heroics in the T20 World Cup the previous year.

Kedar Jadhav – India vs England (65 balls)

the fastest century in ODI by Indian

India looked down and out in this 2017 ODI against England in Pune. Not only had the visitors scored a mammoth 350/7 in the first innings, but they had also reduced India to 63 for 4.

Kedar Jadhav had other plans. The lower-order batsman smashed his way to his second ODI century, scoring a hundred in 65 balls. His 76-ball 120, along with captain Virat Kohli’s 122, helped India to 356/7 and set up a historic win.

It seldom happens that with Virat at the crease the limelight goes to someone else. But such was the class of this innings that helped India register a famous win against England.

Suresh Raina – India vs Hong Kong (66 balls)

the fastest century in ODI by Indian

Another elegant and classy Indian southpaw making it to this list is Suresh Raina. The multi-team tournaments often throw up easy match-ups for stronger teams. Suresh Raina made the most of one such chance when India faced Hong Kong in the 2008 Asia Cup. Raina hit the inexperienced bowlers all over the Karachi Stadium with seven fours and five sixes.

Raina made it to the list of the fastest century in ODI by Indians with his 66-ball ton. MS Dhoni too scored a quick hundred as India scored 374/4. Hong Kong could only manage 118.

Virender Sehwag – India vs Sri Lanka (66 balls)

The attacking opener was at his best against rivals Sri Lanka at Rajkot in 2009. While he got support from Sachin Tendulkar and MS Dhoni, it was Sehwag’s fireworks that powered India to a whopping 414/7.

Sehwag brought up his century off 66 balls, but he wasn’t done. He continued scoring boundaries (17 fours and six sixes in total) and finished with a 102-ball 146.

Despite the high score, it wasn’t an easy win for India. Sri Lanka fired back, scoring 411/8 and falling three runs short. It was a high-scoring contest, but Sehwag’s knock still stands out.

Yusuf Pathan – India vs South Africa (68 balls)

the fastest century in ODI by Indian

Yusuf Pathan was known for his reputation as a big-hitter, and his knock against South Africa at Centurion in 2011 was one reason.

Hashim Amla had powered South Africa to 250/9 in the first innings. The total wasn’t high, but South African bowling led by Dale Steyn made it a challenge. India was 5 down at 60 when Yusuf Pathan took matters into his hands. He smashed eight fours and eight towering sixes to give India hope.

He scored 100 from 68 balls but was dismissed soon after. India lost the match by 33 runs but Pathan’s one-man-show remains memorable.

Virender Sehwag – India vs New Zealand (69 balls)

Virender Sehwag was young and asked to open the innings for the first time in the 2001 Coca-Cola Cup against hosts Sri Lanka. He responded by blasting a hundred from 69 balls.

Chasing New Zealand’s 264/7, India started strongly with Sehwag’s hitting. His innings of 70-ball 100 included 19 fours and one six. Along with the fifties from seniors Sourav Ganguly and Rahul Dravid, Sehwag’s innings powered India to a seven-wicket victory.

With that hit, India got its star opener who features in the fastest century in ODI by Indians three times.

Fastest double centuries in ODI

Ishan Kishan – India v Bangladesh (126 balls)

Ishan Kishan jumped to the top of the list of fastest double centuries in ODI history after coming up with a spectacular inning against Bangladesh in December 2022. After coming in as the opening partner for Shikhar Dhawan, Ishan Kishan found a spectacular partnership with Virat Kohli as he raced to 210 in just 131 balls. He required only 126 balls to hit the double century in an innings that included 24 fours and 10 sixes.

Chris Gayle – West Indies v Zimbabwe (138 balls)

Chris Gayle created history at the ICC World Cup by becoming the fastest player back then to hit a double century in ODI games. The powerful hitter from the West Indies took only 138 balls to hit the double century and he went on to finish with 215 runs from 147 balls. Gayle was able to dismiss Zimbabwean bowlers all over the park, as he managed more sixes (16) than fours (10). Even though this was a pool match at the World Cup, Gayle demonstrated very little pressure as West Indies went on to post a victory by 73 runs.

Virender Sehwag – India v West Indies (140 balls)

Virender Sehwag is the leading Indian batsman to have hit the fastest ODI after his brilliant innings against West Indies in 2011. The explosive batsman from India bettered a record set by Sachin Tendulkar to hit a double century in just 140 balls. After coming in as the opening batsman along with Gautam Gambhir, Sehwag was able to hit 219 runs. The innings were dominated largely by fours (25) with a handful of sixes (7) along the way.

Sachin Tendulkar – India v South Africa (147 balls)

Sachin Tendulkar became the first Indian batsman to set a record for the fastest ODI double century in history after he hit South Africa with extraordinary innings at Gwalior in 2010. Tendulkar hit a 200 not out in just 147 balls. This turned out to be one of the classy innings from the Master Blaster, who managed 25 fours and just three sixes in the game. The amazing innings helped India to get a huge 153 run victory.

Fakhar Zaman – Pakistan v Zimbabwe (148 balls)

Fakhar Zaman is the only Pakistani batsman to feature on this list. An incredible inning of 210 runs off 156 balls back in 2018 helped Zaman create this record. Zimbabwe had no answers for Zaman, who came up with 24 fours and five sixes in the game. Imam-ul-Haq was able to provide a very good opening partnership as Pakistan set a huge total of 399 in the 50 overs. Pakistan was ultimately able to get a huge victory by 244 runs.

Rohit Sharma – India v Sri Lanka (151 balls)

Rohit Sharma is one of the most explosive batsmen in the Indian line-up. He cemented his reputation further while opening the innings in the game against Sri Lanka on November 13, 2014. Rohit Sharma was able to come up with a staggering 264 runs from just 173 balls. In fact, it had taken him 151 balls to reach the double century and it was smooth sailing thereafter. Rohit Sharma was able to manage a staggering nine sixes and 33 boundaries in the game.

Rohit Sharma – India v Sri Lanka (151 balls)

Just a few years after having smashed Sri Lanka all over the park, Rohit Sharma was once again at it in the 2017 meeting with the neighbours. He was able to once again manage a double century off just 151 balls while he went on to stay on the wicket with 208 runs from 153 balls. This was a much more explosive inning from Rohit Sharma with 12 sixes and 13 boundaries.

Martin Guptill – New Zealand v West Indies (153 balls)

The only New Zealand batsman to feature on this list, Martin Guptill was able to shine with a 237 not out innings – from just 163 balls – in the World Cup meeting with West Indies in 2015. Despite this being a quarter-final, Martin Guptill showed little pressure as he opened the innings and stayed until the end to help New Zealand pick up a victory by 143 runs. It took him just 153 balls to hit the double century and he went on to finish with 11 sixes and 24 fours.

Rohit Sharma – India v Australia (156 balls)

Rohit Sharma produced a man of the match innings to hit a double century in just 156 balls. India ended up picking up a victory by 47 runs in the match. This was an explosive inning from Rohit Sharma who managed a whopping 16 sixes and came up with a relatively moderate 12 fours. This helped Rohit Sharma to feature in the list of fastest double hundreds for the third time and he has been unable to replicate his achievements in recent years after dropping down the batting order.


Who has hit the world’s fastest double century in ODIs?

Ishan Kishan holds the record for having hit the fastest century in one-day international format.

Which nation has delivered the most number of batsmen to have hit a ODI double century in less than 160 balls?

India has had the highest proportion of batsmen in the top 10 list of fastest double century in ODI history. There are six Indian batsmen to feature on this list including Ishan Kishan, who tops the list.

How many balls did Ishan Kishan required for hitting the fastest ODI double century?

Ishan Kishan required only 126 balls – a full 12 balls less than Chris Gayle – to hit a double century in 2022.