SportsAdda
Stake — IPL Community Raffle
Stake — IPL Community Raffle
Features

Most ducks in international cricket: Muttiah Muralitharan’s 59 leads the list

Muttiah Muralitharan was dismissed for a duck 59 times in international cricket, more than any other player. Courtney Walsh is next on 54.

Apr 21, 2022 · Updated Sep 2, 2026

Most ducks in international cricket: Muttiah Muralitharan’s 59 leads the list

He was dismissed without scoring 59 times in 495 internationals — 33 in Tests, 25 in ODIs and once in a T20I. Courtney Walsh is next on 54.

Most ducks in international cricket: everyone on 43 or more

These figures combine Tests, ODIs and T20Is.

Player Team Span Mat Ducks
Muttiah Muralitharan Sri Lanka 1992-2011 495 59
Courtney Walsh West Indies 1984-2001 337 54
Sanath Jayasuriya Sri Lanka 1989-2011 586 53
Stuart Broad England 2006-2023 344 49
Glenn McGrath Australia 1993-2007 376 49
Mahela Jayawardene Sri Lanka 1997-2015 652 47
Daniel Vettori New Zealand 1997-2015 442 46
James Anderson England 2002-2024 401 45
Wasim Akram Pakistan 1984-2003 460 45
Chris Gayle West Indies 1999-2021 483 44
Zaheer Khan India 2000-2014 309 44
Shahid Afridi Pakistan 1996-2018 524 44
Shane Warne Australia 1992-2007 339 44
Lasith Malinga Sri Lanka 2004-2020 340 43
Younis Khan Pakistan 2000-2017 408 43

James Anderson is the newest name on it. He was not on this page’s previous list at all; he retired in 2024 on 45, and Stuart Broad finished a year earlier on 49.

It is not only a list of tail-enders

Ten of the fifteen are bowlers, and the reason is obvious: they bat last, they bat against the new ball only when the innings collapses, and nobody minds. The other five are the interesting ones. Jayasuriya, Jayawardene, Gayle, Shahid Afridi and Younis Khan all finished with more than 10,000 international runs, and Jayawardene with nearly 26,000.

Long careers and attacking cricket both cost ducks. Jayasuriya batted in 433 ODI innings and Gayle in 294; play that many times at the top of the order and some of them end at nought.

The record in each format

Courtney Walsh has the most Test ducks, 43, from 185 innings. Stuart Broad is second on 39 and Chris Martin third on 36.

Sanath Jayasuriya has the most in ODIs, 34, ahead of Shahid Afridi’s 30 and 28 each for Jayawardene and Wasim Akram.

The T20I record belongs to Dasun Shanaka, on 16, and he is still playing. The format has only existed since 2005, which is why its numbers are so much smaller than the other two.

India’s list

Zaheer Khan has the most ducks of any India player, 44 — 43 of them for India and one for an Asia XI. Virat Kohli is next on 40 and is still playing, level with Ishant Sharma, and Jasprit Bumrah and Harbhajan Singh follow on 37 each.

Format India record Ducks
Tests Ishant Sharma 34
ODIs Sachin Tendulkar 20
T20Is Rohit Sharma 12

Ishant’s 34 Test ducks put him joint-fifth on the all-time Test list, alongside James Anderson and Shane Warne. Sanju Samson has the most T20I ducks among India’s current players, on eight.

For the other end of the batting record, see our list of the players with the most centuries in Test cricket.

Interested in cricket betting? Check out our list of top cricket betting sites.

Featured photo: PAUL ELLIS / AFP

Stake — IPL Community Raffle
Stake — IPL Community Raffle