Bangladesh captain Mohammad Ashraful smashed the fastest half-century in Twenty20 cricket to throw the West Indies out of the world championships.
The 23-year-old dynamo pounded seven boundaries and three sixes in 61 off 27 balls as Bangladesh overtook the West Indian total of 164-8 with 12 deliveries to spare at the Wanderers.
Aftab Ahmed chipped in with an unbeaten 62, sharing a rollicking stand of 109 for the third wicket with Ashraful that came off just 62 deliveries.
Ashraful reached his half-century off 20 balls by hooking Fidel Edwards for a six, surpassing Sri Lankan Sanath Jayasuriya's 23-ball 50 against New Zealand at Wellington in 2006.
The West Indies were knocked out of the 12-nation tournament with their second successive defeat following the eight-wicket loss to South Africa in Tuesday's opening match.
The West Indians, who were sent in to bat on a drying wicket, struggled to 104-3 in 15 overs before the lower order added 60 valuable runs in the last five overs.
Dwayne Smith hit 29 off seven balls to lead his team's recovery, but the target of 8.3 runs an over was easily overtaken by the Bangladesh batsmen.
The match was delayed by an hour due to a wet pitch caused by excessive watering overnight by the ground staff, but there was no reduction in overs.
"I think it was a very good toss to win because batting could not be easy on a drying wicket," said Ashraful.
"I knew in my mind that 50 percent of the match had been won by winning the toss but we still had to go out there and get the runs.
"The boys have trained hard over the past month. We even attended an army cammando camp and I was confident we will do well in Twenty20."
Bangladesh lost openers Mohammad Nazimuddin and Tamim Iqbal by the fourth over with just 28 runs on the board before Ashraful joined Aftab to leave the West Indies in the dumps.
Ashraful began with four boundaries in Daren Powell's third over which realised 18 runs and then hit seamer Ravi Rampaul for a six and four off consecutive balls.
The dapper batsman, who was dropped by Edwards on the fine-leg fence when on 29, welcomed Dwayne Bravo with 4, 4, 6.
At the other end, Aftab rotated the strike skillfully and hit eight boundaries and a six.
Chris Gayle, who hammered the first-ever Twenty20 century in the previous match, fell to the third ball of the match when he cut Syed Rasel to Alok Kapali at point.
Left-armer Rasel kept the runs in check with a superb spell of 1-10 in four overs even as Shivnarine Chanderpaul and Devon Smith put on 95 for the second wicket.
Chanderpaul made 37 off 31 balls with three fours and two sixes, while Devon Smith top-scored with 51 off 52.
Marlon Samuels launched the late charge with two sixes and two boundaries in one over of Ashraful before holing out off the over's final delivery.
Dwayne Smith hammered three consecutive sixes in another over from Ashraful, who conceded 55 runs in his spell.
Left-arm spinner Shakib Al Hasan finished with 4-34, including three wickets in the last over of the innings.
Bangladesh play hosts South Africa in Cape Town on Saturday with both teams already assured of a place in the Super Eights round.