# The Five Greatest Test Upsets of the 21st Century
Bangladesh’s victory over Australia in Darwin was one of the greatest upsets in the history of Test cricket.
In fact, there is a very good argument that it was **the** greatest.
Test cricket is not a sport particularly conducive to flukes. In football, one deflection can settle a match. In T20 cricket, one freak innings can overwhelm a stronger side. But a Test gives you four innings and as many as five days to establish which team is better.
For a genuinely inferior side to win, something extraordinary usually has to happen.
Sometimes the upset comes from the difference in quality between the two teams. Sometimes it is the location. Sometimes it is the form they were in beforehand. And occasionally, as at Kolkata in 2001, the situation becomes so hopeless *during the Test itself* that what happens before the match almost stops mattering.
So these aren’t necessarily the five **best** Test victories of the century. They’re our five greatest upsets: the matches where what happened seems most absurd when set against what reasonably should have happened.
## Honourable mention: India beat Australia, Brisbane, 2021
Qualitatively, this might be as impressive as anything on the list.
By the time India arrived at the Gabba, their touring party looked like it had been selected by a casualty ward. Virat Kohli had gone home after the first Test. Mohammed Shami, Ravindra Jadeja, Jasprit Bumrah and Ravichandran Ashwin were among the players unavailable for the decider. India eventually fielded a bowling attack containing two Test caps between them.
And then they breached the Gabba, where Australia had not lost a Test since 1988.
There is, however, one thing keeping it off this particular list: by then, India had already demonstrated they could compete with Australia.
They had recovered from being bowled out for 36 in Adelaide to win in Melbourne. They had survived Sydney for a draw despite another pile of injuries. The series was 1–1.
So while winning *that particular Test* with *that particular XI* was ridiculous, the idea of India winning a Test in the series was no longer completely shocking.
This is a tiny distinction, but on a list about upsets it matters. Brisbane was perhaps the ultimate triumph of resilience. It just wasn’t quite the bolt from a clear blue sky that the five below were.
## Honourable mention: Bangladesh beat New Zealand, Mount Maunganui, 2022
This is the one that hurts to leave out.
New Zealand entered 2022 as the reigning World Test Champions. They had gone 17 Tests unbeaten at home. Bangladesh, meanwhile, had **never won a match in New Zealand in any format**. Not a Test. Not an ODI. Not a T20I. Nothing.
And Bangladesh didn’t steal the match.
They made 458 in response to New Zealand’s 328. Then Ebadot Hossain produced the spell of his life, New Zealand were bowled out for 169, and Bangladesh knocked off the 40 required for an eight-wicket victory.
That is outrageous.
The only slight knock against it comes with hindsight. New Zealand’s title as World Test Champions made them sound almost invincible at the time, but by June they would be swept 3–0 in England. The team Bangladesh beat was still excellent; it simply turned out to be closer to the end of its peak than we realised in January.
That is an extremely thin reason to leave one of the greatest away victories in Test history out of the top five.
But this is an extremely stupidly competitive list.
## 5. West Indies beat South Africa, Port Elizabeth, 2007
To understand this one, you have to remember what West Indies cricket looked like by the end of 2007.
They had gone **20 consecutive Tests without winning one**. Their previous Test victory had come nearly three years earlier. Brian Lara had retired after the 2007 World Cup. A once-dominant cricketing empire had spent most of the decade dissolving in public.
South Africa were almost the perfect opponent to make that misery worse.
West Indies had never won a Test in South Africa. Their previous tours had included a 5–0 whitewash in 1998–99 and another comfortable defeat in 2003–04. South Africa had spent years treating them less like a rival and more like an administrative obligation.
Then, at St George’s Park, West Indies made 408.
Shivnarine Chanderpaul made 104, Marlon Samuels 94 and Chris Gayle 66. They then bowled South Africa out for 195, survived a second-innings wobble of their own, and dismissed the hosts for 260 to win by 128 runs.
Their first Test victory in South Africa was also the victory that ended a 20-Test winless streak.
There are upsets where a decent side catches a great one on a bad day.
This wasn’t that.
This was a team that had almost forgotten how to win walking into a country where it had **never won before** and beating one of the best sides in the world by 128 runs.
## 4. Sri Lanka beat South Africa, Durban, 2019
There are two separate reasons this belongs here.
The first is the broader context.
South Africa had just swept Pakistan 3–0 at home. Two years earlier, they had beaten Sri Lanka 3–0 in South Africa. Sri Lanka had subsequently returned the favour with a 2–0 home victory in 2018, but travelling to South Africa was an entirely different proposition.
The second reason is what Sri Lanka actually had to do to win.
They were chasing 304 in the fourth innings against an attack containing Dale Steyn, Kagiso Rabada, Vernon Philander and Keshav Maharaj.
Then they were 226 for nine.
At that point the upset was no longer merely unlikely before the match. It was essentially dead.
Sri Lanka needed another 78 runs. They had one wicket left. At the other end from Kusal Perera was Vishwa Fernando, a man who would finish his Test career with considerably more wickets than batting highlights.
Perera proceeded to produce one of the greatest innings ever played.
He finished unbeaten on 153. Fernando survived 27 balls for six. Their unbroken 78-run tenth-wicket partnership was, at the time, the highest last-wicket stand ever in a successful Test chase. Sri Lanka won by one wicket.
And, because apparently that wasn’t ridiculous enough, they won the second Test too, becoming the first Asian team to win a Test series in South Africa.
But Durban stands by itself.
There are fourth-innings chases that require greatness. There are fourth-innings chases that require a miracle.
This required both.
## 3. New Zealand beat India, Bengaluru, 2024
A few weeks before New Zealand toured India in 2024, the basic question surrounding Test cricket in India was no longer really *whether* India would win a home series.
It was how anyone was supposed to beat them.
India had not lost a home Test series since England beat them in 2012. They had subsequently won 18 consecutive home series. Their ability to construct teams for Indian conditions had become so overwhelming that beating them there felt less like defeating a cricket team than solving an engineering problem nobody else had the equipment for.
New Zealand were not the side anyone expected to solve it.
They arrived without Kane Williamson for the Bengaluru Test. Trent Boult was no longer part of their Test setup. And New Zealand themselves had not won a Test in India since **1988**. Nineteen consecutive Tests in India had passed without a New Zealand victory.
Then India won the toss.
At home.
And batted.
Business as usual.
They were bowled out for **46**.
Forty-six.
It was India’s lowest Test total at home. Matt Henry took five wickets. William O’Rourke took four. New Zealand made 402 in reply and, even after India responded with 462 in their second innings, the visitors calmly chased 107 to win by eight wickets.
And here’s what makes Bengaluru even stranger in retrospect: it wasn’t an isolated accident.
New Zealand then won in Pune.
Then they won in Mumbai.
The team that had not won a Test in India for 36 years suddenly won three in three weeks and became the first visiting team ever to sweep India 3–0 in a three-Test home series.
You could argue that the subsequent two victories make Bengaluru *less* of an upset because they proved New Zealand were capable of it.
I think they make the first one even more surreal.
Before the series began, virtually every piece of available evidence said this wasn’t going to happen.
Then New Zealand didn’t merely beat India.
They discovered a door nobody knew existed and ran through it three times.
## 2. India beat Australia, Kolkata, 2001
If you look only at the geography, this doesn’t seem like the second-biggest Test upset of the century.
India beating Australia in India?
That happens.
But that completely misses what Australia were in 2001 — and what India looked like immediately before this Test.
Australia had won **16 consecutive Test matches**, then a world record. They had whitewashed India 3–0 in Australia in 1999–2000. They arrived in India and won the first Test in Mumbai by ten wickets.
This wasn’t just a good Australian team.
It was the beginning of one of the most terrifying stretches of dominance international cricket has ever seen.
India, meanwhile, were emerging from a miserable period. South Africa had beaten them 2–0 in India the previous year. Indian cricket had been shaken by the match-fixing scandal. Mohammad Azharuddin had been banned. And after the ten-wicket loss in Mumbai, Australia looked ready to make the rest of the series an administrative exercise.
Then Kolkata began.
Australia made 445.
India made 171.
Steve Waugh enforced the follow-on.
At that point, forget the pre-match odds. Forget home advantage. Forget history.
**India had already lost the Test.**
Or at least they had reached the point from which Test teams are supposed to lose.
Instead, VVS Laxman made 281. Rahul Dravid made 180. Together they added 376. India declared on 657 for seven and somehow transformed a match in which they had been 274 runs behind after the first innings into one where Australia had to survive the final day.
They couldn’t.
Harbhajan Singh, who had already taken a first-innings hat-trick, finished the match with 13 wickets. Australia were bowled out for 212.
India won by 171 runs.
Australia’s 16-Test winning streak was over. India went on to win the series.
Only four teams in the entire history of Test cricket have won after being forced to follow on. India did it against a side that apparently could not remember how to lose.
For 25 years, this had a perfectly reasonable claim to number one.
Then Bangladesh went to Darwin.
## 1. Bangladesh beat Australia, Darwin, 2026
This might be the greatest upset in Test history.
Start with Australia.
They were the number-one ranked Test team in the world. Their first-choice bowling attack was back together: Pat Cummins, Mitchell Starc, Josh Hazlewood and Nathan Lyon. Australia had won the Ashes 4–1 and entered the series having spent years doing what Australia generally do at home: making visiting teams miserable.
Then consider Bangladesh.
They were playing their first Test in Australia in **23 years**.
The previous time Australia had invited them over, in 2003, Australia won the two Tests by an innings and 132 runs and an innings and 98 runs. Bangladesh then simply did not get another Test tour of Australia for more than two decades.
That absence matters.
Bangladesh had played only six Tests against Australia in their first 26 years as a Test nation before this series. Australia cancelled or abandoned other opportunities to host them, including a planned 2018 tour that Cricket Australia acknowledged was not commercially viable. This wasn’t merely an underdog arriving in unfamiliar conditions. It was a country that had barely been allowed to acquire any experience in those conditions at all.
And their preparation could hardly have been worse.
In the tour match immediately before the Test, Bangladesh were bowled out for **54** by a Cricket Australia XI and lost by an innings and 38 runs.
Then Pat Cummins won the toss in Darwin and chose to bat.
Australia were bowled out for **198**.
Hasan Mahmud took 6 for 55.
Bangladesh replied with 426, Tanzid Hasan making a century and Mehidy Hasan Miraz adding 65. A team supposedly trying to survive in alien conditions instead took a 228-run first-innings lead.
Australia fought in the second innings. Cameron Green made 104.
It did not matter.
Mehidy took five wickets, Australia were dismissed for 284, and Bangladesh were left 57 to win.
They got there for the loss of one wicket.
Nine wickets.
In Australia.
Against the number-one Test side in the world.
And perhaps the most extraordinary part is that this wasn’t some smash-and-grab victory.
Bangladesh **dog-walked them**.
They didn’t require Australia to drop six catches. They didn’t need a freak declaration. They weren’t rescued by rain. There was no single 250-run innings doing something completely unrepeatable.
They bowled better than Australia.
They batted better than Australia.
They controlled the Test almost from the beginning and, over four days, made the world’s top-ranked side look like the team that was out of its depth. Contemporary reports described Bangladesh as having outplayed Australia in every department, with Australia themselves offering essentially the same assessment.
That’s what separates Darwin even from some of the miracles above.
At Kolkata, India needed one of the greatest batting partnerships in history to reverse an impossible situation.
At Durban, Sri Lanka needed Kusal Perera to play one of the greatest innings in history with one wicket remaining.
Bangladesh didn’t need a miracle in Darwin.
They just turned up and were better.
Which, given everything we thought we knew before the first ball was bowled, might be the biggest miracle of all.





Leave a Reply