Fabian Allen's 92 and Ray Jordan's 3/44 gave West Indies a 9-run win in a close encounter
Fabian Allen's 92 took West Indies to 215 in 49.2 overs. Its bowlers then came to the fore to bowl out Afghanistan for 206 in 48 overs.
After West Indies opted to bat, Afghanistan made early inroads dismissing both openers, Tagenarine Chanderpaul and Jeremy Solozano for no score, in the first three overs. Tristan Coleman and Brandon King shared a 41-run stand for the third wicket until Mohammad Mujtaba picked up two wickets in two overs to dismiss King (15) and Nicolas Pooran (0), reducing West Indies to 42 for 4.
Allen walked in at this stage and provided West Indies with the innings it was looking for. He shared two half-century stands with Coleman and captain Ramaal Lewis. His 94-ball knock included eight fours and four sixes before he was trapped lbw by Fareed Ahmad.
West Indies was eventually bowled out for 215, with both Mujtaba and Ahmad picking up three wickets apiece.
Chasing 216, Afghanistan got off to a steady start until Usman Ghani was run out by Pooran in the sixth over. Shahidullah however, went on to score a resolute 67-ball 51 while wickets fell at the other end, before himself falling to Ray Jordan in the 25th over.
Hashmatullah Shaidi scored a patient half-century and remained unbeaten while sharing partnerships with the lower order. But Jordan picked up two wickets in two balls and Afghanistan eventually fell short by nine runs.
Jordan, who picked up three wickets, reached the second spot, behind India's Kuldeep Yadav, in the wicket-takers’ tally for the tournament with 12 wickets from five matches at an average of 16.58.
West Indies will face India in the fifth-place final on February 27 at Sharjah.