South Africa hammered Bangladesh by 206 runs in Mirpur to dump the co-hosts of the 2011 World Cup out of the tournament and send India and England through to the quarter-finals, with the West Indies all-but there barring a minor miracle.
The Proteas had already qualified for the last eight and rested Dale Steyn and Morne Morkel for their match against Bangladesh, who needed a win to remain in the tournament and now need the West Indies to lose by a hugely improbably margin against India to sneak through on net run rate.
Graeme Smith and his batsmen did their part by smacking 284-8 from their 50 overs, before skittling out the hosts for a humiliating 78, their lowest score against South Africa, to end their World Cup dreams.
Lonwabo Tsotsobe grabbed three wickets on his World Cup debut while Robin Peterson took four and Hashim Amla, Jacques Kallis and Faf du Plessis all hit half centuries.
The win ensured that South Africa finished top of Group B and Smith's men look in great touch with two front line bowlers to come back into the line-up for the knockout stages.
After winning the toss and batting first Smith and Amla put on their best partnership of the tournament as the Proteas reached 97 off 20 overs.
Mahmudullah broke the stand in the next over by having captain Smith (45 off 68) stumped and Abdur Razzak cleaned up Amla soon after reaching his half-century.
Kallis and JP Duminy continued the good work until the latter was out to a loose shot as South Africa slipped to 141 for three after 30 overs.
But Kallis and new man Du Plessis consolidated further adding 82 in the next 14 overs. Kallis, who negated the threat of Bangladeshi spinners by using his feet, eased past 50 and looked set for a major score.
A couple of sixes and a boundary took him to 69, but Shakib stopped him in his tracks by taking a sharp return catch. The skipper followed it up with wicket of Morne van Wyk in his next over.
Du Plessis boosted the total with a half-century of his own but the Proteas lost four wickets for 35 in pursuit of quick runs.
Rubel Hossain and Shakib shared five wickets among them, but a handy contribution from Peterson (22 not out off nine balls) helped South Africa reach 284 in their 50 overs.
Tsotsobe put South Africa on top by picking up three early wickets before the left-arm spinner cleaned up the Bangladesh bottom order and only skipper Shakib al Hasan showed signs of a fight scoring 30.
None of the top five Bangladeshi batsman reached double figures in pursuit of South Africa's 284 for eight, and the hosts made a real mess at the start of their chase by losing four wickets in the first powerplay for just 29 runs.
Mushfiqur Rahim and captain Shakib defied the Proteas for the next seven overs, but a diving catch from Smith ended Mushfiqur's vigil, giving Peterson a first wicket.
The Tigers avoided creating a new record for the lowest score by reaching 58 - the total managed by Bangladesh in their match against West Indies - resulting in a hug, if not entirely sincere, round of applause from the crowd.
But it turned out to be a short-lived joy as Mahmudullah lost his wicket in a mix up with his captain at the same score.
Bangladesh lost wickets in a heap from thereon as Peterson saw off Shakib and Shafiul Islam in the same over before Imran Tahir dismissed Razzak to leave the hosts on 62 for nine at the half-way mark.
Peterson knocked over the middle stump of Naeem Islam in the 28th over to end Bangladesh's World Cup campaign on a sad note.