Nagpur: West Indies will face India or Australia in the World Twenty20 last four after losing to Afghanistan by six runs in their final Super 10 stage match on Sunday, while England will play New Zealand in the other semi-final.
Afghanistan, who lost the toss and were sent in to bat, rode an unbeaten 48 off 40 balls by Najibullah Zadran to post 123-7 in Nagpur and held their nerve to register their first win in Group One and ruin their opponents' 100 percent record.
West Indies had already qualified for the semi-finals before the game and still finished top of the group ahead of England with a superior net run rate despite the defeat.
"Obviously we are disappointed, but there's no doubt we are not going to let this dampen our spirits," Windies' Darren Sammy told reporters.
Leg-spinner Samuel Badree decimated Afghanistan's top order, taking three wickets for 14 runs to leave them struggling on 52 for four in the 10th over, but man-of-the-match Zadran got four fours and a six at No. 6 to guide them to a competitive total.
Mohammad Nabi and Rashid Khan were the pick of Afghanistan's bowlers, taking two wickets apiece after left-arm spinner Amir Hamza got the early breakthrough.
Leg-spinner Khan caught Evin Lewis -- in for the rested Chris Gayle -- off a Hamza delivery for a duck in the third over to leave the Windies at 17-1, while off-spinner Nabi got top-scorer Dwayne Bravo lbw on 28.
Andre Fletcher retired hurt with a hamstring problem, but was forced to return at the death as Afghanistan's spinners kept picking off the Windies' batsmen.
Khan bowled Marlon Samuels on five and got Denesh Ramdin stumped on 18 to keep the pressure on and combined with wicketkeeper Mohammad Shahzad to run-out Andre Russell at the non-striker's end on seven after a mix-up with Sammy.
Nabi then struck again to see off the big-hitting Carlos Brathwaite, who smashed two sixes in the penultimate over to leave his team needing 10 runs off the last six balls.
Zadran played a major part in Brathwaite's demise, taking a brilliant running catch to send the danger man back to the pavilion for 13 as the Windies ran out of steam.