Most innings before first duck
Player Inns Debut Until: Team Opposition Ground Match Date Scorecard
F du Plessis 108 18 Jan 2011 South Africa v West Indies Centurion 17 Dec 2014 Test # 2150
Samiullah Shinwari 90 19 Apr 2009 Afghanistan v U.A.E. ICCA Dubai 14 Dec 2016 T20I # 571
AB de Villiers 84 17 Dec 2004 South Africa v Netherlands Basseterre 16 Mar 2007 ODI # 2537
GO Jones 71 10 Apr 2004 England v India Delhi 28 Mar 2006 ODI # 2357
BJ Haddin 69 30 Jan 2001 Australia v South Africa Johannesburg 27 Mar 2009 T20I # 87
DP Conway 64 27 Nov 2020 New Zealand v Pakistan Karachi 2 Jan 2023 Test # 2487
D Ramdin 62 13 Jul 2005 West Indies v England Lord's 1 Jul 2007 ODI # 2594
CH Lloyd 59 13 Dec 1966 West Indies v England Port of Spain 2 Feb 1974 Test # 731
VG Kambli 59 19 Oct 1991 India v West Indies Visakhapatnam 7 Nov 1994 ODI # 949
Yasir Hameed 58 20 May 2003 Pakistan v Zimbabwe Multan 30 Sep 2004 ODI # 2183
N Dickwella 58 24 Jul 2014 Sri Lanka v Pakistan Sharjah 23 Oct 2017 ODI # 3930
MA Taylor 57 26 Jan 1989 Australia v West Indies Georgetown 23 Mar 1991 Test # 1167
KC Wessels 54 26 Nov 1982 Australia v West Indies W.A.C.A 9 Nov 1984 Test # 997
Ishan Kishan 54 14 Mar 2021 India v Australia Chennai 8 Oct 2023 ODI # 4662
AK Davidson 51 11 Jun 1953 Australia v England Manchester 27 Jul 1961 Test # 510
UC Hathurusingha 51 22 Feb 1991 Sri Lanka v South Africa Colombo (SSC) 6 Sep 1993 Test # 1233
MP O'Dowd 51 2 Jul 2015 Netherlands v New Zealand Hamilton 2 Apr 2022 ODI # 4381
B McMullen 51 1 Dec 2022 Scotland v Italy The Hague 9 Jul 2025 T20I # 3291
AN Cook 49 1 Mar 2006 England v India Manchester 30 Aug 2007 ODI # 2617
Mahmudullah 48 25 Jul 2007 Bangladesh v India Mirpur 24 Jan 2010 Test # 1950
SD Hope 48 1 May 2015 West Indies v New Zealand Wellington 1 Dec 2017 Test # 2284
Sadiq Mohammad 47 24 Oct 1969 Pakistan v Australia Melbourne 1 Jan 1977 Test # 790
OJ Pope 47 9 Aug 2018 England v India Birmingham 1 Jul 2022 Test # 2470
BF Butcher 46 28 Nov 1958 West Indies v India Chennai 13 Jan 1967 Test # 614
KD Ghavri 46 27 Dec 1974 India v Pakistan Delhi 4 Dec 1979 Test # 863
Gulsan Jha 46 17 Sep 2021 Nepal v Bangladesh Kingstown 16 Jun 2024 T20I # 2698
CJL Rogers 45 16 Jan 2008 Australia v England Nottingham 6 Aug 2015 Test # 2175
AP Rajeevan 44 17 Sep 2022 Tanzania v Malawi Dar-es-Salaam 26 Sep 2024 T20I # 2868
JM Bairstow 43 16 Sep 2011 England v Australia Sydney 3 Jan 2014 Test # 2113
SO Hetmyer 43 21 Apr 2017 West Indies v Bangladesh Sylhet 14 Dec 2018 ODI # 4073
JP Greaves 43 8 Jan 2022 West Indies v New Zealand Christchurch 2 Dec 2025 Test # 2610
AN Petersen 42 18 Sep 2006 South Africa v England The Oval 19 Jul 2012 Test # 2049
Ibrahim Zadran 42 5 Sep 2019 Afghanistan v Bangladesh Mirpur 14 Jun 2023 Test # 2506
K Kadowaki-Fleming 42 9 Oct 2022 Japan v Qatar Al Amerat 15 Oct 2025 T20I # 3520
CV Anto 42 19 Sep 2023 Kuwait v Hong Kong Mong Kok 26 Feb 2026 T20I # 3738
RN Harvey 41 23 Jan 1948 Australia v England Nottingham 11 Jun 1953 Test # 372
GS Sobers 41 30 Mar 1954 West Indies v Pakistan Karachi 20 Feb 1959 Test # 469
KD Karthik 41 5 Sep 2004 India v England Birmingham 27 Aug 2007 ODI # 2616
HDRL Thirimanne 41 5 Jan 2010 Sri Lanka v New Zealand Hambantota 10 Nov 2012 ODI # 3307
WH Ponsford 40 19 Dec 1924 Australia v England Brisbane 10 Feb 1933 Test # 223
PK Amre 40 10 Nov 1991 India v West Indies Eden Gardens 27 Nov 1993 ODI # 858
Fakhar Zaman 40 30 Mar 2017 Pakistan v India Dubai (DICS) 19 Sep 2018 ODI # 4040
M Shumba 40 10 Nov 2020 Zimbabwe v Ireland Harare 15 Dec 2023 ODI # 4710
I Kaia 40 17 Sep 2021 Zimbabwe v India Harare 6 Jul 2024 T20I # 2737
Jaker Ali 40 4 Oct 2023 Bangladesh v Pakistan Lahore 30 May 2025 T20I # 3194
ME Trescothick 39 8 Jul 2000 England v Pakistan Leeds 17 Jun 2001 ODI # 1724
AC Voges 39 20 Feb 2007 Australia v England Birmingham 29 Jul 2015 Test # 2173
Agha Salman 39 16 Jul 2022 Pakistan v Australia Sydney 3 Jan 2024 Test # 2521
V Ganesan 39 11 May 2019 Germany v Norway Krefeld 11 Jul 2024 T20I # 2751
AP Sheahan 37 23 Dec 1967 Australia v South Africa Johannesburg 19 Feb 1970 Test # 672
Haroon Rasheed 37 14 Jan 1977 Pakistan v Sri Lanka Faisalabad 14 Mar 1982 Test # 925
PG Fulton 37 2 Nov 2004 New Zealand v West Indies North Sound 29 Mar 2007 ODI # 2557
Shamim Hossain 37 23 Jul 2021 Bangladesh v India Dubai (DICS) 24 Sep 2025 T20I # 3470
A Randhawa 37 10 Jun 2022 Austria v Norway Stockholm 12 Jun 2026 T20I # 3949
RG Nadkarni 36 16 Dec 1955 India v West Indies Kingston 13 Apr 1962 Test # 529
JM Parks 36 22 Jul 1954 England v South Africa Johannesburg 22 Jan 1965 Test # 575
RW Barber 36 9 Jun 1960 England v Australia Adelaide 28 Jan 1966 Test # 600
KC Sangakkara 36 5 Jul 2000 Sri Lanka v England Colombo (SSC) 15 Mar 2001 Test # 1537
JD Ryder 36 5 Feb 2008 New Zealand v India Wellington 3 Apr 2009 Test # 1918
HA Varaiya 36 12 Aug 2006 Kenya v Ireland Mombasa 20 Feb 2012 ODI # 3245
GA Faulkner 35 2 Jan 1906 South Africa v Australia Manchester 27 May 1912 Test # 121
Mohsin Khan 35 16 Mar 1977 Pakistan v England Leeds 26 Aug 1982 Test # 933
SR Watson 35 24 Mar 2002 Australia v West Indies Kuala Lumpur 18 Sep 2006 ODI # 2417
Azmatullah Omarzai 35 21 Jan 2021 Afghanistan v India Bengaluru 17 Jan 2024 T20I # 2435
DS Lehmann 34 30 Aug 1996 Australia v England Sydney 2 Jan 1999 Test # 1439
NS Dhaliwal 34 18 Aug 2019 Canada v U.S.A. Prairie View 7 Apr 2024 T20I # 2544
RD Rickelton 34 31 Mar 2022 South Africa v Pakistan Centurion 26 Dec 2024 Test # 2572
AC Bannerman 33 2 Jan 1879 Australia v England Lord's 16 Jul 1888 Test # 28
MJ Slater 33 3 Jun 1993 Australia v New Zealand Sharjah 16 Apr 1994 ODI # 907
M Kaif 33 2 Mar 2000 India v New Zealand Queenstown 4 Jan 2003 ODI # 1929
KJ O'Brien 33 13 Jun 2006 Ireland v Sri Lanka Lord's 14 Jun 2009 T20I # 108
H Thaker 33 25 Aug 2019 Canada v Netherlands Rotterdam 17 Aug 2024 ODI # 4758
CC McDonald 32 25 Jan 1952 Australia v England The Oval 23 Aug 1956 Test # 429
Saeed Ahmed 32 17 Jan 1958 Pakistan v England Lahore 21 Oct 1961 Test # 512
RC Russell 32 22 Nov 1987 England v New Zealand Birmingham 5 Jul 1990 Test # 1147
Q de Kock 32 21 Dec 2012 South Africa v Netherlands Chattogram 27 Mar 2014 T20I # 386
Babar Azam 32 31 May 2015 Pakistan v Australia Sydney 3 Jan 2017 Test # 2245
Abdul Waheed 32 23 Feb 2020 Saudi Arabia v Qatar Al Amerat 16 Apr 2024 T20I # 2569
Saud Shakeel 32 8 Jul 2021 Pakistan v Bangladesh Rawalpindi 21 Aug 2024 Test # 2544
Ainool Hafizs 32 1 Oct 2019 Malaysia v Qatar Al Amerat 9 Oct 2025 T20I # 3508
J Liyanage 32 20 Feb 2022 Sri Lanka v Pakistan Rawalpindi 29 Nov 2025 T20I # 3596
W Rhodes 31 1 Jun 1899 England v Australia Melbourne 7 Feb 1908 Test # 99
FMM Worrell 31 11 Feb 1948 West Indies v England Bridgetown 6 Feb 1954 Test # 383
NS Sidhu 31 12 Nov 1983 India v West Indies Bridgetown 7 Apr 1989 Test # 1118
MA Ealham 31 23 May 1996 England v Sri Lanka Sydney 3 Feb 1999 ODI # 1400
MEK Hussey 31 1 Feb 2004 Australia v Sri Lanka Sydney 22 Jan 2006 ODI # 2317
Tamim Iqbal 31 9 Feb 2007 Bangladesh v South Africa Mirpur 22 Feb 2008 Test # 1864
TN de Grooth 31 6 Aug 2006 Netherlands v Scotland Aberdeen 28 Jun 2011 ODI # 3164
HM Nicholls 31 26 Dec 2015 New Zealand v South Africa Hamilton 25 Mar 2017 Test # 2257
Ahmer Bin 31 14 Nov 2022 Bahrain v Qatar Doha 25 Nov 2024 T20I # 2979
G Pullar 30 2 Jul 1959 England v Pakistan Lahore 21 Oct 1961 Test # 512
Ijaz Ahmed 30 14 Nov 1986 Pakistan v England Karachi 16 Dec 1987 Test # 1086
PV Simmons 30 16 Oct 1987 West Indies v Australia Port of Spain 10 Mar 1991 ODI # 673
AIC Dodemaide 30 26 Dec 1987 Australia v New Zealand Auckland 28 Mar 1993 ODI # 827
A Flower 30 23 Feb 1992 Zimbabwe v Pakistan Rawalpindi 9 Dec 1993 Test # 1240
Javed Omar 30 5 Apr 1995 Bangladesh v New Zealand Wellington 26 Dec 2001 Test # 1579
Rajin Saleh 30 20 Aug 2003 Bangladesh v West Indies Kingston 4 Jun 2004 Test # 1703
MH Cross 30 4 Jul 2013 Scotland v Zimbabwe Nagpur 10 Mar 2016 T20I # 527

Records include the following recent matches:
Bahamas v Brazil at Sandys Parish, ICC World Twenty20 Americas Sub Regional Qualifier A 8th match, Jun 25, 2026 [T20I # 3989]
Bermuda v Panama at Sandys Parish, ICC World Twenty20 Americas Sub Regional Qualifier A 7th match, Jun 25, 2026 [T20I # 3988]
Singapore v Indonesia at Singapore, Asia Pacific Cricket Champions Trophy 6th match, Jun 25, 2026 [T20I # 3987]
Thailand v Uzbekistan at Singapore, Asia Pacific Cricket Champions Trophy 5th match, Jun 25, 2026 [T20I # 3986]