After conceding 18 runs from the final over against New Zealand to lose a thrilling quarter-final, the West Indies were determined to put up a good showing against Pakistan in Townsville.
They were sent into bat though, and left-arm quick Mir Hamza (3-44 off 10 overs) dismissed Sunil Ambris (one), John Campbell (13) and Anthony Alleyne (one) in a terrific opening spell.
All-rounder Akeal Hosein (11) came and went quickly while Kyle Mayers (17) did not last long either as the winners slumped to 72-5 in the 21st over.
Opener Kraigg Brathwaite (39) and wicket-keeper Stephen Katwaroo (35) batted patiently though, helping West Indies towards a decent score.
Usman Qadir (2-22 off 10 overs) bowled well and claimed the wicket of Justin Greaves (13), and although spinner Derone Davis (24) chipped in with some late runs, they were dismissed for 182 after 49 overs.
It did not look like being enough but West Indies – minus speedster Ronsford Beaton – started well, with openers Marquino Mindley (1-20 off six) and Jerome Jones (2-29 off 10) claiming early scalps.
Pakistan captain Babar Azam (38) and Umar Waheed (31) added 51 runs for the third wicket before Davis (3-20 off 10) broke the partnership.
Davis was proving a real thorn in Pakistan's side, not only taking wickets but also bowling tight and frustrating the batsmen.
But after Azam and Faraz Ali (13) departed, Mohammad Nawaz (28) and Qadir (12) added 39 runs for the sixth wicket, taking Pakistan to 133-5.
With less than 50 runs required and more than 12 overs remaining, they looked favourites, but both batsmen were dismissed in a five-ball period before Salman Afridi (seven) and Zia-ul-Haq (six) went quickly.
It was left to Mayers (1-21 off 3.3) to finish the job as he bowled Hamza to give his side a 16-run win.
West Indies will now play England on Friday in the fifth-place playoff, while Pakistan will battle Bangladesh on the same day in the fight to finish seventh.
In Wednesday's other match, Sri Lanka defeated Ireland by 109 runs in the Plate Championship.
Essentially a semi-final in the ninth-place playoff, Sri Lanka was dismissed for 258 from 49.3 overs, with Sandun Weerakkody (112) entertaining the crowd in Brisbane with a superb knock.
Ireland skipper George Dockrell (3-39 off 10) continued his excellent tournament but the target proved far too much for them to chase.
Only Shane Getkate (46) passed 25 as Ireland lost their last seven wickets for just 28 runs to be bowled out for 149.
Lahiru Madushanka (6-24 off 7.5) starred with the ball for the winners.
Sri Lanka will meet Afghanistan on Friday with the winner to claim the Plate Championship.