Cricket's greatest batsmen have defined eras and inspired generations with their skill and consistency at the crease. From record-breaking averages to massive totals in pressure situations, these players set the standard for batting excellence. Vote for your favorites to rank the all-time best.
What counts: Best means highest aggregate runs, exceptional averages, and impact across formats and eras; figures are approximate career totals.
Don Bradman▲ Rising
Bradman dominated the 1930s and 1940s with an unmatched Test average near 100. His 334 at Headingley in 1930 remains one of the greatest innings ever played. No batsman has come close to his consistency over a long career.
Test Runs: 6,996ODI Runs: —Batting Avg: 99International Centuries: 29Career Span: 1928-1948
added by IJRin 2 rankingsDon Bradman
Jacques Kallis▲ Rising
Kallis combined 13,000 Test runs with 292 wickets, making him the ultimate all-round contributor. His 189 against India in 2010-11 helped South Africa to a famous series win. He delivered in every condition for 18 years.
Test Runs: 13,289ODI Runs: 11,579Batting Avg: 55International Centuries: 62Career Span: 1995-2014
added by IJRin 2 rankingsJacques Kallis
Rahul Dravid▲ Rising
Dravid was the wall who anchored India's middle order through the 2000s with impeccable defense. His 270 at Adelaide in 2003 remains one of the great overseas innings. He scored crucial runs in every format without ever dominating headlines.
Test Runs: 13,288ODI Runs: 10,889Batting Avg: 52International Centuries: 48Career Span: 1996-2012
added by IJRRahul Dravid
Ricky Ponting▲ Rising
Ponting anchored Australia's golden era with over 13,000 Test runs and two World Cup wins as captain. His 140 at Headingley in 2001 helped seal the Ashes. Few combined aggression with consistency as well as he did.
Test Runs: 13,378ODI Runs: 13,704Batting Avg: 52International Centuries: 71Career Span: 1995-2012
added by IJRin 2 rankingsRicky Ponting
Brian Lara▲ Rising
Lara thrilled fans with two of the highest Test scores ever, including the record 400 not out. His 153 not out at Bridgetown in 1999 turned a match against Australia single-handedly. He remains the benchmark for elegant strokeplay under pressure.
Test Runs: 11,953ODI Runs: 10,405Batting Avg: 53International Centuries: 53Career Span: 1990-2007
added by IJRin 3 rankingsBrian Lara
Jayawardene formed half of Sri Lanka's great batting duo with elegant timing and placement. His 374 against South Africa in 2006 remains a Test record for his country. He delivered in big matches across 17 years.
Test Runs: 11,814ODI Runs: 12,650Batting Avg: 49International Centuries: 54Career Span: 1997-2014
added by IJRMahela Jayawardene
Sachin Tendulkar▲ Rising
Tendulkar carried Indian hopes for two decades, becoming the first to 100 international centuries. His 200 against South Africa in 2010 showcased his ability to dominate all formats late in his career. He holds the record for most Test runs.
Test Runs: 15,921ODI Runs: 18,426Batting Avg: 54International Centuries: 100Career Span: 1989-2013
added by IJRin 2 rankingsSachin Tendulkar
Waugh turned from stylish batsman to gritty finisher who anchored Australia's rise in the 1990s. His twin centuries in the 2003 World Cup final cemented his legacy. He thrived in the toughest situations for over a decade.
Test Runs: 10,927ODI Runs: 7,569Batting Avg: 51International Centuries: 44Career Span: 1985-2004
added by IJRSteve Waugh
Viv Richards▲ Rising
Richards dominated the 1970s and 80s with explosive power and Caribbean flair. His unbeaten 189 at Old Trafford in 1984 remains one of the greatest ODI innings. He set the standard for aggressive middle-order batting.
Test Runs: 8,540ODI Runs: 6,721Batting Avg: 50International Centuries: 29Career Span: 1974-1991
added by IJRViv Richards
Amla brought elegant timing and consistency to South Africa's top order in the 2010s. His triple century against England in 2012 showcased his class. He averaged over 50 in Tests for a decade.
Test Runs: 9,000ODI Runs: 7,500Batting Avg: 49International Centuries: 36Career Span: 2004-2019
added by IJRHashim Amla
Kumar Sangakkara▲ Rising
Sangakkara evolved from wicketkeeper to one of Sri Lanka's greatest pure batsmen with elegant strokeplay. His 319 against Bangladesh in 2014 capped a remarkable late-career surge. He averaged over 50 in both formats.
Test Runs: 12,400ODI Runs: 14,234Batting Avg: 57International Centuries: 63Career Span: 2000-2015
added by IJRKumar Sangakkara
AB de Villiers▼ Falling
De Villiers redefined modern batting with 360-degree shots and rapid scoring. His 278 against Pakistan in 2015 showed his ability to dominate attacks. He averaged over 50 in both Tests and ODIs.
Test Runs: 8,765ODI Runs: 9,577Batting Avg: 53International Centuries: 47Career Span: 2004-2018
added by IJRAB de Villiers
Kohli transformed Indian batting with aggressive, high-average chases in the modern era. His 2019 chase of 359 against South Africa highlighted his dominance. He already has more ODI centuries than any other player.
Test Runs: 8,500ODI Runs: 13,000Batting Avg: 53International Centuries: 80Career Span: 2008-present
added by IJRin 2 rankingsVirat Kohli
Gavaskar opened for India in the 1970s and 80s and became the first to 10,000 Test runs. His 221 at The Oval in 1979 helped India secure a famous win. He set the template for technically sound opening batting.
Test Runs: 10,122ODI Runs: 3,092Batting Avg: 51International Centuries: 34Career Span: 1971-1987
added by IJRSunil Gavaskar
Allan Border▲ Rising
Border rebuilt Australia with gritty batting and leadership through the 1980s. His 200 not out at Headingley in 1981 nearly turned an Ashes defeat. He finished with over 11,000 Test runs as the backbone of his side.
Test Runs: 11,174ODI Runs: 6,524Batting Avg: 50International Centuries: 27Career Span: 1978-1994
added by IJRAllan Border
Sobers was the complete all-rounder who also scored 8,000 Test runs at a high average. His 254 against Australia in 1965 highlighted his batting class. He excelled in every skill for nearly two decades.
Test Runs: 8,032ODI Runs: —Batting Avg: 58International Centuries: 26Career Span: 1954-1974
added by IJRin 2 rankingsGarfield Sobers
Smith led South Africa with over 9,000 Test runs as an aggressive left-handed opener. His 277 against England in 2003 helped secure a famous series win. He thrived in tough conditions as captain.
Test Runs: 9,265ODI Runs: 6,989Batting Avg: 48International Centuries: 30Career Span: 2002-2014
added by IJRGraeme Smith
Root has become England's modern great with over 10,000 Test runs and consistent performances across formats. His 2019 century at Headingley helped win the Ashes. He continues to accumulate at a high level.
Test Runs: 11,000ODI Runs: 6,500Batting Avg: 49International Centuries: 38Career Span: 2012-present
added by IJRJoe Root
Miandad carried Pakistan batting through the 1980s with six Test centuries against India alone. His last-ball six in the 1986 Austral-Asia Cup remains iconic. He averaged over 50 in Tests for a decade.
Test Runs: 8,832ODI Runs: 7,381Batting Avg: 52International Centuries: 31Career Span: 1976-1993
added by IJRJaved Miandad
Younis Khan
Younis led Pakistan's batting revival with over 10,000 Test runs and a famous 2017 series win in Australia. His 313 against Sri Lanka in 2015 showed his class. He delivered in every condition for 18 years.
Test Runs: 10,099ODI Runs: 7,249Batting Avg: 52International Centuries: 34Career Span: 2000-2017
added by IJR
Chanderpaul anchored West Indies batting for two decades with an unorthodox but effective style. His 203 not out against South Africa in 2005 helped secure a rare series win. He scored over 11,000 Test runs.
Test Runs: 11,867ODI Runs: 8,778Batting Avg: 51International Centuries: 30Career Span: 1994-2015
added by IJRShivnarine Chanderpaul
Hammond dominated the 1930s with elegant strokeplay and over 7,000 Test runs. His 336 not out against New Zealand in 1933 highlighted his class. He was the benchmark batsman of his generation.
Test Runs: 7,249ODI Runs: —Batting Avg: 58International Centuries: 22Career Span: 1927-1947
added by IJRWally Hammond
Alastair Cook▼ Falling
Cook became England's all-time leading run scorer with over 12,000 Test runs as a durable opener. His 244 against India in 2011 helped secure a famous series win. He anchored the top order for over a decade.
Test Runs: 12,472ODI Runs: 5,615Batting Avg: 45International Centuries: 33Career Span: 2006-2018
added by IJRAlastair Cook
Barrington anchored England's middle order in the 1960s with over 6,800 Test runs at a high average. His 256 against Australia in 1964 helped secure the Ashes. He delivered consistently in tough conditions.
Test Runs: 6,806ODI Runs: —Batting Avg: 58International Centuries: 20Career Span: 1955-1968
added by IJRKen Barrington
Len Hutton▼ Falling
Hutton opened for England in the 1940s and 50s and became the first Englishman to 6,000 Test runs. His 364 against Australia in 1938 remains an Ashes record. He set the standard for post-war English batting.
Test Runs: 6,971ODI Runs: —Batting Avg: 56International Centuries: 19Career Span: 1937-1955
added by IJRLen Hutton
Greg Chappell▼ Falling
Chappell led Australia's batting in the 1970s with over 7,000 Test runs and multiple centuries. His 182 against England in 1974 helped retain the Ashes. He combined elegance with consistency.
Test Runs: 7,110ODI Runs: 2,331Batting Avg: 54International Centuries: 24Career Span: 1970-1984
added by IJRGreg Chappell
Kane Williamson▼ Falling
Williamson has led New Zealand with elegant batting and over 8,000 Test runs. His 2019 World Cup final century nearly won the trophy. He delivers in every condition with quiet consistency.
Test Runs: 8,500ODI Runs: 7,000Batting Avg: 53International Centuries: 32Career Span: 2010-present
added by IJRKane Williamson
Free account · your comment posts right after signup
Wild that Don Bradman is winning this. Scroll down — the real answer is further down the board.
Came for the argument, stayed for the comparison grid. The numbers settle half the fights here.
Voted, but this order is going to look very different in a month once more people find it.