Highest Career Batting Average in ODIs (Ranked 25 to 1)
Faf du Plessis
Former South African skipper and one of the best all-format batters of his era, Faf du Plessis is still playing in franchise T20 leagues across the world, despite having turned 41 years old. He occupies the 25th spot on this elite list of players with the highest batting average in ODIs, with du Plessis having scored 5,507 runs at an average of 47.47.
Ross Taylor
Having most recently announced his decision to come out retirement to play for the Samoan national cricket team, former New Zealand icon Ross Taylor once held the distinction for being the Kiwis' highest run-getter in Tests and ODIs. Taylor played 236 ODIs throughout his career, during which he scored 8,607 runs at an average of 47.55.
Zaheer Abbas
Known as the 'Asian Bradman', Pakistani cricket legend Zaheer Abbas was the first cricketer to score three consecutive hundreds in One-Day cricket, having achieved this unique feat in the 1982-83 season. An ICC Hall of Fame inductee, Zaheer Abbas played 62 ODIs for the Men in Green, finishing with 2,572 runs at an average of 47.62.
Janneman Malan
2021 was the breakout year for South African batter Janneman Malan, who ranks 22nd on this list of players with the highest career average in ODIs. Malan played just 23 ODIs for the Proteas from 2019 to 2022, scoring 958 runs at a remarkable average of 47.90, hitting three hundreds and four fifties, before falling out of favor.
Mike Hussey
Widely known by fans as 'Mr. Cricket' for his superb batting abilities across all the three formats of the game, Australian great Michael Hussey was a rather late bloomer in international cricket, having made his debut at the age of 28. A member of Australia's 2007 WC-winning side, Hussey boasts an ODI batting average of 48.15 in 185 matches.
Shreyas Iyer
Having most recently been appointed as India's new ODI vice-captain, Shreyas Iyer has emerged as one of the finest middle-order batters of the era. The 30-year-old has played 70 ODIs for the Men in Blue so far since making a his debut in 2017, scoring 2,845 runs at an average of 48.22, and was a part of India's 2025 CT-winning side.
Janith Liyanage
Sri Lankan batting all-rounder Janith Liyanage surprisingly finds his name on this elite list of cricketers, having only played 28 ODIs so far, since making his debut for the Lions in 2022. Liyanage has scored an astonishing 824 runs in the 28 matches that he has played, at an average of 48.47. hitting a hundred and six fifties so far.
Daryl Mitchell
The 2023 ICC ODI World Cup turned out to be the turning point in New Zealand all-rounder Daryl Mitchell's career, as he finished as the fifth highest run-getter in the tournament with 552 runs in just ten matches. In 52 ODIs, after having sealed his place in the Kiwis' lineup, Mitchell has scored 2,041 runs at a brilliant average of 48.59.
Rohit Sharma
Former Indian captain and white-ball icon Rohit Sharma is a legend in the 50-over format, as he holds the record for the most double centuries in ODIs (3) as well as the most centuries at Cricket World Cups (7). The only captain to have lead a team to all three ICC tournament finals, Sharma boasts a career batting average of 48.76 in One-Day cricket.
KL Rahul
The first and the only Indian cricketer to score a hundred on his ODI debut, KL Rahul has established himself as a trusted batter in the Indian Test as well as One-Day setup. Rahul has featured in 85 ODIs throughout his career since 2016, having recorded 3,043 runs at a remarkable average of 49.08.
Kane Williamson
Considered by many as New Zealand's greatest batter of all time, former captain Kane Williamson represented the Kiwis in four different editions of the ODI World Cup, in 2011, 2015, 2019 and 2023. Also a part of the New Zealand ODI team that made it to the final of the 2015 and 2019 CWC, Williamson has a career batting average of 49.21.
Joe Root
Having most recently watched his name in history books by becoming the all-time second highest run-getter in Test cricket, Joe Root's numbers in ODI are equally impressive. The 34-year-old English batter has played 183 ODIs so far, scoring 7,301 runs at an average of 49.33, including 19 centuries and 42 half-centuries.
Hashim Amla
Often regarded as one of the greatest opening batters of all time, South African legend Hashim Amla, who retired from playing in 2019, is only the fourth cricketer to score an ODI hundred against all Test playing nations. Having featured in 181 ODIs throughout his career, Amla scored 8,113 runs at an average of 49.46.
Rassie van der Dussen
South African middle-order batter Rassie van der Dussen has been in and out of the squad, owing to his inconsistencies across all the three formats of the game. However, his numbers in ODIs are impressive, with the 36-year-old having scored 2,657 runs in 71 matches at a decent average of 50.13, including six hundreds and 17 fifties.
Shai Hope
West Indies' current ODI and T20I skipper and the team's best batter at the moment, Shai Hope has been single-handedly leading the Caribbean side through such a challenging phase. Since making his debut in 2015, Hope has played 142 ODIs, scoring 5,879 runs at an average of 50.20, having hit a stunning 18 hundreds and 29 fifties.
MS Dhoni
The 10th spot on this elite list is occupied by India's most successful captain, MS Dhoni, who remains the only skipper to have won three different limited-overs ICC tournaments. A prolific wicket-keeper batter and former world no.1 ODI batter, Dhoni scored 10,773 runs in the format in 350 matches, at an average of 50.57.
Ibrahim Zadran
The first player from Afghanistan to hit a hundred in a Cricket World Cup game, 23-year-old Ibrahim Zadran has quickly established himself as one of the best white-ball batters across the world. Currently serving as the vice-captain of the Afghanistan limited-overs team, Zadran boasts a career batting average of 51.48 in ODIs.
Jonathan Trott
Former England batter, who now served as the head coach of the Afghanistan national cricket team, Jonathan Trott played 68 ODIs for the Three Lions from 2009 to 2013, even winning the ICC Player of the Year awards in 2011. Trott scored 2,819 runs during the period, at an impressive average of 51.25, hitting four hundreds and 22 fifties.
AB de Villiers
One of the most innovative batters of all time, South African great AB de Villiers was known for his destructive hitting, and is often regarded as the best white-ball cricketer of all time. Having played 228 ODIs for the Proteas national side, de Villiers retired before reaching the 10,000 run-mark in ODI cricket, having batted at an average of 53.50.
Michael Bevan
A former world no. 1 ODI batter and a part of Australia's 1999 and 2003 World Cup-winning squads, Michael Bevan retired from playing in 2004, only a decade after having made his debut for the national side. He retired in 232 ODIs throughout his career, scoring 6,912 runs at a remarkable average of 53.58, hitting six hundreds and 46 fifties.
Babar Azam
Former Pakistani captain Babar Azam, who served as the leader of the side across all the three formats of the game, remains the only skipper to have guided the Men in Green to the top of the ICC ODI Rankings. A superb middle-order batter, often criticized for his slow-strike rate, Azam has scored 6,291 runs so far, at an average of 54.23.
Dawid Malan
The fifth spot on this list is occupied by former England international, Dawid Malan, who played only 30 ODIs for the Three Lions from 2017 to 2023, before announcing his retirement from international cricket in 2024. Malan did scored 1,450 runs in the few ODIs that he played in, at an average of 55.76, hitting six hundreds and seven fifties.
Virat Kohli
The third highest run-getter in ODI cricket history, former Indian captain Virat Kohli is widely regarded as the greatest middle-order batter of all time, and hold the record for the most centuries in the 50-over format. A member of India's 2011 WC-winning side, Kohli has scored 14,181 runs in 302 ODIs so far, at an average of 57.88.
Shubman Gill
The no.2 spot on this elite list is occupied by newly-appointed Indian ODI captain Shubman Gill, who is the fastest player to have scored 2000 runs in the 50-over format, in just 38 innings. The youngest cricketer with a double-hundred in ODIs, Gill boasts a career batting average of 59.04 in the 50-over format, having featured in only 55 matches so far.
Ryan ten Doeschate
The top spot on this list is occupied by a surprising figure, former Netherlands all-rounder Ryan ten Doeschate, who currently serves as the batting coach of the Indian men's cricket team. A record three-time ICC Associate Player of the Year winner, Doeschate scored 1,541 runs in the 33 ODIs that he played in, at an average of 67, the highest in One-Day cricket.

