Top 20 Greatest Batsmen of All-Time

Top 20 Greatest Batsmen of All-Time

The greatest batsmen of all-time know how to put their team in a position to win. They have lightning-fast reflexes, prolific decision-making skills, they’re excellent strategists, have the utmost determination, masterful strokes, superb footwork, and are nothing short of consistent. 

Cricket is a sport that dates back to the early 1600s, but it didn’t gain popularity until 1709 — which is when the first game was recorded between two county teams. By the middle of the 18th century, it had spread throughout England and the first official rules had been written.

Today, cricket is one of the most popular sports around the globe, especially in England, India, and Australia. People gather from all over the world to watch the greatest batsmen square off against some of the best bowlers — and they’re very rarely disappointed by the outcome.

RELATED: The 20 Hardest Golf Courses in the World

Who Are the Greatest Batsmen of All-Time?

Top 20 Greatest Batsmen of All-Time
wavebreakmedia / Shutterstock

Some people refer to it as a ‘gentleman’s game,’ but we all know cricket is truly a ‘batsman’s game.’ Batsmen are the ones responsible for scoring runs and are ultimately the players that decide the outcome of the game. Quality batsmen are extremely valuable to their club. 

Despite how prominent batsmen are to the game today, very few batsmen are good enough to be considered as the greatest of all-time. These players boast careers that are unlike any other, proving to be a nightmare to opposing bowlers everytime they’re facing in the bowler’s direction. 

With that said, there are some players that deserve to be remembered as the greatest batsmen of all-time and we’re going to list those players out for you today. Some of them still play the game, while others are legends in the sport. Either way, they can all bat with the best of them.

Honorable Mentions: Steve Waugh (Australia), Younis Khan (Pakistan), Hashim Amla (South Africa), Graeme Smith (South Africa), Graham Gooch (England), Inzamam-ul-Haq (Pakistan), VVS Laxman (India), AB de Villiers (South Africa), Michael Clarke (Australia), and Matthew Hayden (Australia)

20.  Joseph Root

Country: England

Years: 2012-2021

Test: 109 matches, 200 innings, 9,278 runs, 50.15 average, 23 hundreds, 50 fifties

ODI: 152 matches, 142 innings, 6,109 runs, 51.33 average, 16 hundreds, 23 fifties

FC: 174 matches, 304 innings, 13,657 runs, 49.12 average, 34 hundreds, 68 fifties

It didn’t take long for Joseph Root to become one of the greatest batsmen of all time. He holds a record for scoring fifties in 12 consecutive Test matches, is the third-fastest player to reach 4,000 runs in ODI matches, and has the eighth-highest career batting average in ODI matches.

You can view the rest of his career statistics here.

19. Mahela Jayawardene

Country: Sri Lanka

Years: 1997-2015

Test: 149 matches, 252 innings, 11,814 runs, 49.84 average, 34 hundreds, 50 fifties

ODI: 448 matches, 418 innings, 12,650 runs, 33.37 average, 19 hundreds, 77 fifties

FC: 237 matches, 383 innings, 17,838 runs, 49.68 average, 51 hundreds, 80 fifties

Mahela Jayawardene has seen success in Test and ODI formats. He has the second-most career ODI matches and the fifth-most career ODI runs. In Test matches, he’s the fifth-fastest player to reach 9,000 career runs and holds the record for most runs on a single ground (2,921).

You can view the rest of his career statistics here

18. Alastair Cook

Country: England

Years: 2006-2018

Test: 161 matches, 291 innings, 12,472 runs, 45.35 average, 33 hundreds, 57 fifties

ODI: 92 matches, 92 innings, 3,204 runs, 36.40 average, 5 hundreds, 19 fifties

FC: 324 matches, 568 innings, 24,841 runs, 47.22 average, 69 hundreds, 117 fifties

Alastair Cook has the fifth-most career runs at 12,472 in test matches. He also holds the record for the most consecutive matches for a team (159), 10th-most career hundreds (33), and sixth-most career fifties (57). Cook was the sixth-fastest player to reach 12,000 career runs.

You can view the rest of his career statistics here.

17. Allan Border

Country: Australia

Years: 1978-1994

Test: 156 matches, 265 innings, 11,174 runs, 50.56 average, 27 hundreds, 63 fifties

ODI: 273 matches, 252 innings, 6,524 runs, 30.62 average, 3 hundreds, 39 fifties

FC: 385 matches, 625 innings, 27,131 runs, 51.38 average, 70 hundreds, 142 fifties

Allan Border holds the record for most consecutive Test matches as captain of a team, has the 10th-most career runs in Test matches, and the sixth-most career scores over 50 in Test matches. He once hit a hundred in each inning of a match, which is an unreal accomplishment.  

You can view the rest of his career statistics here.

16. Shivnarine Chanderpaul

Country: West Indies

Years: 1994-2015

Test: 164 matches, 280 innings, 11,867 runs, 51.37 average, 30 hundreds, 66 fifties

ODI: 268 matches, 251 innings, 8,778 runs, 41.60 average, 11 hundreds, 59 fifties

FC: 385 matches, 626 innings, 27,545 runs, 53.17 average, 77 hundreds, 144 fifties

In Test matches, Shivnarine Chanderpaul has the sixth-most career matches, eighth-most career runs, ninth-most career fours, and was the ninth-fastest player to score 11,000 runs. He once scored a hundred in each inning of a match and had two unbeaten fifties in a match.

You can view the rest of his career statistics here.

15. Greg Chappell

Country: Australia

Years: 1970-1984

Test: 87 matches, 151 innings, 7,110 runs, 53.86 average, 24 hundreds, 31 fifties

ODI: 74 matches, 72 innings, 2,331 runs, 40.18 average, 3 hundreds, 14 fifties

FC: 321 matches, 542 innings, 24,535 runs, 52.20 average, 74 hundreds, 111 fifties

Speaking of hitting a hundred in each inning of a match, Greg Chappell has done that before. He also has the fifth-most runs in a single match (380 runs), the seventh-most consecutive innings with a fifty (6 innings), and most runs in an ODI series by a captain (686 runs).

You can view the rest of his career statistics here.

14. Javed Miandad

Country: Pakistan

Years: 1975-1996

Test: 124 matches, 189 innings, 8,832 runs, 52.57 average, 23 hundreds, 43 fifties

ODI: 233 matches, 218 innings, 7,381 runs, 41.70 average, 8 hundreds, 50 fifties

FC: 402 matches, 632 innings, 28,663 runs, 53.37 average, 80 hundreds, 139 fifties

Javed Miandad is the eighth-youngest player to ever be named captain of his team (22 years old) and has the third-longest career (over 20 years). He also has the seventh-most runs in a single Test inning (280) and holds the record for most consecutive innings with a fifty (9 innings).

You can view the rest of his career statistics here.

13. Rahul Dravid

Country: India

Years: 1996-2012

Test: 164 matches, 286 innings, 13,288 runs, 52.31 average, 36 hundreds, 63 fifties

ODI: 344 matches, 318 innings, 10,889 runs, 39.16 average, 12 hundreds, 83 fifties

FC: 298 matches, 497 innings, 23,794 runs, 55.33 average, 68 hundreds, 117 fifties

Rahul Dravid is the second-fastest player to reach 9,000 career runs and has the fourth-most career runs in Test matches. In the ODI format, he had the third-most runs and fifth-most hundreds in a single calendar year, and was the ninth-fastest player to reach 10,000 runs.

You can view the rest of his career statistics here.

12. Kumar Sangakkara

Country: Sri Lanka

Years: 2000-2015

Test: 134 matches, 233 innings, 12,400 runs, 57.40 average, 38 hundreds, 52 fifties

ODI: 404 matches, 380 innings, 14,234 runs, 41.98 average, 25 hundreds, 93 fifties

FC: 260 matches, 430 innings, 20,9111 runs, 52.40 average, 64 hundreds, 86 fifties

Kumar Sangakarra is the fastest player to reach 12,000 runs in Test format and holds the record for most consecutive innings with a fifty (7 innings). He also has the fourth-most career ODI matches and holds the record for most consecutive ODI innings with a hundred (4 innings).

You can view the rest of his career statistics here.

11. Virat Kohli

Country: India

Years: 2008-2021

Test: 96 matches, 162 innings, 7,765 runs, 51.08 average, 27 hundreds, 27 fifties

ODI: 254 matches, 245 innings, 12,169 runs, 59.07 average, 43 hundreds, 62 fifties

FC: 128 matches, 210 innings, 10,014 runs, 51.88 average, 34 hundreds, 35 fifties

Virat Kohli is the fifth-fastest player to reach 7,000 runs in Test format and has the sixth-most matches as a captain (65 matches). A majority of his success has come during ODI matches as the fastest player to reach 12,000 runs and having the third-highest career batting average.

You can view the rest of his career statistics here.

10. Jacques Kallis

Country: South Africa

Years: 1995-2014

Test: 166 matches, 280 innings, 13,289 runs, 55.37 average, 45 hundreds, 58 fifties

ODI: 328 matches, 314 innings, 11,579 runs, 44.36 average, 17 hundreds, 86 fifties

FC: 257 matches, 421 innings, 19,695 runs, 54.10 average, 62 hundreds, 97 fifties

In Test matches, Jacques Kallis has the most player of the match awards (23), third-most career runs, second-most career fifties, and is the second-fastest player to reach 13,000 career runs. He also has the eighth-most career runs and fifth-most career fifties in ODI matches.

You can view the rest of his career statistics here.

9. Garfield Sobers

Country: West Indies

Years: 1954-1974

Test: 93 matches, 160 innings, 8,032 runs, 57.78 average, 26 hundreds, 30 fifties

FC: 383 matches, 609 innings, 28,314 runs, 54.87 average, 86 hundreds, 121 fifties

Garfield Sobers is the second-fastest player to reach 6,000 runs in Test matches and has the third-most runs in a single inning (365 runs). He once scored a fifty in six consecutive innings, ranking seventh all-time. His stats might not show it, but he’s one of the greatest batsmen ever.

You can view the rest of his career statistics here.

8. Sunil Gavaskar

Country: India

Years: 1971-1987

Test: 125 matches, 214 innings, 10,122 runs, 51.12 average, 34 hundreds, 45 fifties

ODI: 108 matches, 102 innings, 3,092 runs, 35.13 average, 1 hundred, 27 fifties

FC: 348 matches, 563 innings, 25,834 runs, 51.46 average, 81 hundreds, 105 fifties

Sunil Gavaskar is the third-fastest player to reach 5,000 career runs in Test matches, has the fourth-most consecutive matches for a team (106 matches), and third-most runs in a series by a captain (732 runs). In ODI matches, he was the fourth-oldest player to score a maiden hundred.

You can view the rest of his career statistics here.

7. Jack Hobbs

Country: England

Years: 1908-1930

Test: 61 matches, 102 innings, 5,410 runs, 56.94 average, 15 hundreds, 28 fifties

FC: 834 matches, 1,325 innings, 61,760 runs, 50.70 average, 199 hundreds, 273 fifties 

Jack Hobbs is definitely one of the greatest batsmen of all-time. He had the seventh-longest career (over 22 years) and was the oldest player to ever score a hundred (46 years old). He was also the second-fastest player to score 5,000 runs in Test matches, taking him 91 matches.

You can view the rest of his career statistics here.

6. Wally Hammond

Country: England

Years: 1927-1947

Test: 85 matches, 140 innings, 7,249 runs, 58.45 average, 22 hundreds, 24 fifties

FC: 634 matches, 1,005 innings, 50,551 runs, 56.10 average, 167 hundreds, 185 fifties 

Wally Hammond was the third-oldest player to ever be named captain at 43 years old and is the second-fastest player to reach 7,000 runs (131 matches). He also has the second-most runs in a single day at 295 runs and the sixth-most runs from sixes and fours in an inning.

You can view the rest of his career statistics here.

5. Ricky Ponting

Country: Australia

Years: 1995-2012

Test: 168 matches, 287 innings, 13,378 runs, 51.85 average, 41 hundreds, 62 fifties

ODI: 375 matches, 365 innings, 13,704 runs, 42.03 average, 30 hundreds, 82 fifties

FC: 289 matches, 494 innings, 24,150 runs, 55.90 average, 82 hundreds, 106 fifties

In Test matches, Ricky Ponting is the second-fastest player to score 12,000 runs, has the second-most career runs, second-most career matches, second-most career fifties, and fourth-most career fours. He also has the third-most runs, hundreds, and fifties in ODI matches.

You can view the rest of his career statistics here.

4. Brian Lara

Country: West Indies

Years: 1990-2007

Test: 131 matches, 232 innings, 11,953 runs, 52.88 average, 34 hundreds, 48 fifties

ODI: 299 matches, 289 innings, 10,405 runs, 40.48 average, 19 hundreds, 63 fifties

FC: 261 matches, 440 innings, 22,156 runs, 51.88 average, 65 hundreds, 88 fifties

In Test matches, Brian Lara is the fastest player to score 10,000 career runs and scored the most runs in a single inning by a captain (400 runs). He also has the 10th-most career fifties and third-most career fours. In ODI matches, he’s the sixth-fastest player to 9,000 career runs.

You can view the rest of his career statistics here.

3. Sir Vivian Richards

Country: West Indies

Years: 1974-1991

Test: 121 matches, 182 innings, 8,540 runs, 50.23 average, 24 hundreds, 45 fifties

ODI: 187 matches, 167 innings, 6,721 runs, 47.00 average, 11 hundreds, 45 fifties

FC: 507 matches, 796 innings, 36,212 runs, 49.40 average, 114 hundreds, 162 fifties

In Test matches, Sir Vivian Richards is the third-fastest player to 5,000 career runs, has the third-most consecutive matches with a fifty, and has the second-most runs (1,710) and hundreds (7) in a calendar year. In ODI matches, he’s the second-fastest player to 5,000 career runs.

You can view the rest of his career statistics here.

2. Sachin Tendulkar

Country: India

Years: 1989-2013

Test: 200 matches, 329 innings, 15,921 runs, 53.78 average, 51 hundreds, 68 fifties

ODI: 463 matches, 452 innings, 18,426 runs, 44.83 average, 49 hundreds, 96 fifties

FC: 310 matches, 490 innings, 25,396 runs, 57.84 average, 81 hundreds, 116 fifties

In Test matches, Sachin Tendulkar holds the record for most career matches, runs, hundreds, nineties, fours, and is the only player to reach 15,000 runs. In ODI matches, he holds the record for most runs in a calendar year, career fifties, and is the only player to reach 18,000 runs.  

You can view the rest of his career statistics here.

1. Sir Donald Bradman

Country: Australia

Years: 1928-1948

Test: 52 matches, 80 innings, 6,996 runs, 99.94 average, 29 hundreds, 13 fifties

FC: 234 matches, 338 innings, 28,067 runs, 95.14 average, 117 hundreds, 69 fifties

In Test matches, Sir Donald Bradman is the fastest player to reach 6,000 career runs and holds the record for the highest career batting average. It’s very possible that we will never see a more consistent batsman than Sir Donald Bradman. He was truly a one-of-a-kind batter.

You can view the rest of his career statistics here.

These Batsmen Have Revolutionized the Sport

The greatest batsmen of all-time find success in every format they play in — whether it’s Test matches, ODI matches, or FC matches. They score runs, they have high batting averages, and consistently score hundreds and fifties. They know how to put their team in a position to win.

When you look at the all-time record books, the 20 batsmen listed above are all over them. Of course, they’re all unique in their own way and they all played a major role in revolutionizing the sport. If it weren’t for them, cricket likely wouldn’t be the “batsman’s game” we see today.

YOU MAY ALSO LIKE: The 25 Best Hockey Players of All-Time

As the game continues, we have our eyes on several players that are climbing up the rankings — such as Kane Williamson, Steven Smith, Marnus Labuschagne, Rohit Sharma, Babar Azam, Quinton de Kock, and Henry Nicholls. They continue to give bowlers a hard time.

About At The Buzzer

At The Buzzer, or ATB is the place for those who love sports, life, family, community, and so much more. We are far from the run-of-the-mill 24/7 sports news websites. We not only bring you what’s happening in the world of sports in terms of trades and breaking news, but we also bring you the news that goes on behind the scenes, like big life moments, and so much more. So take a minute and read one of our articles, we promise you won't regret it.