Bangladesh shocked world number one-ranked South Africa with a 67-run victory in the World Cup Super Eights on Saturday which has turned the tournament on its head.
The Bangladeshis, who progressed to the second phase against the odds after a surprise win over India in the group stage, followed their World Cup record total of 251 for eight by dismissing the South Africans for 184 at the Providence Stadium.
The result seriously damaged strongly fancied South Africa's hopes of reaching the last four from the second stage and gave fresh hope to hosts West Indies and England who had looked to be heading out of the competition.
It was a match which South Africa were expected to cruise to a comfortable two points and move towards the semi-finals from the round-robin Super Eights.
Instead, Bangladesh, who lost heavily to Australia and New Zealand in the last eight days, completely dominated to win their first points of the Super Eights and could even qualify themselves if they win their remaining games.
"It was a poor day for us, a very poor day, but credit to them," South African captain Graeme Smith told reporters. "If you don't get your basics right you don't deserve to win."
Bangladesh's innings was dominated by a flamboyant 87 off 83 balls by 22-year-old number five batsman Mohammed Ashraful, the man of the match.
His innings shone with improvised stroke-play and general unorthodoxy. South African pace bowler Andre Nel claimed a career one-day best 5-45 but that was overshadowed by the youngster's exuberance and flair.
Bangladesh, ranked ninth from 11 in the one-day world rankings, had to recover from 84-4 in the 24th over. They eventually took 80 from their last 10 overs.
South Africa's innings began poorly when Smith (12) missed a cut shot to a straight ball from left-arm seam bowler Syed Rasel.
The match then swung dramatically from 63-1 to 87-6, as key man Jacques Kallis played a mistimed lofted on-drive and was caught off Rasel for 32 and Abdur Razzak bowled AB de Villiers (15) seven balls later.
Ashwell Prince was run out, Mark Boucher followed a six over long-off to Saqibul Hasan with a catch to the same region next ball and then Justin Kemp lobbed up a simple return catch to Saqibul a ball later.
As the Bangladeshis scented victory, every wicket was met by excited dance jigs by a team whose average age is 23.
Herschelle Gibbs, who fielded only for a short period because of a calf strain, batted at seven with a runner. He bravely contributed 56 not out.
His stand of 45 with Shaun Pollock was ended by a run out after a sharp pick-up and throw at the stumps by Tamim Iqbal.
Charl Langeveldt made nine before missing a straight delivery from Razzak and the victory was rounded off when Makhaya Ntini holed out from a ballooning thick edge for eight, again off Razzak.
It was Bangladesh's fifth victory in their third World Cup -- and probably their best.
South Africa meet tournament hosts West Indies in Grenada on Tuesday and after three defeats already in the Super Eights, the hosts will be doubly determined to make the most of a golden chance to resurrect their campaign.
England, too, have been offered an opportunity to redeem themselves having lost to Sri Lanka this week and failed to bring any points through from the group stage. They face Australia in Antigua on Sunday.
The seven-week World Cup culminates in the April 28 final in Bridgetown, Barbados.