West Indies have barely survived a spirited challenge from Cricket World Cup newcomers Bangladesh to leapfrog New Zealand into semi-final contention.
Seeking their second win at their first tournament, Bangladesh bowled and fielded superbly to keep their more illustrious rivals to just 140 runs in their 50 overs, but could not pull of a famous victory, finally bundled out four runs short with three balls remaining.
After 17 matches, eight have now gone to the final over.
The Windies began their batting innings slowly, but completely stalled after captain Stephanie Taylor and Rashada Williams departed within three balls, losing 5/22 in almost 21 overs. Only a 36-run partnership between Shemaine Campbelle and tailender Karishma Ramharack for the ninth wicket salvaged some respectability, with Campbelle unbeaten on 53.
Bangladesh found themselves in dire straits, when they lost opener Shamima Sultana in the first over, then three wickets with the score at 60... then another two at 85. With plenty of balls remaining, their tailenders desperately tried to scratch out the runs needed, but their chase ended, when Fariha Trisna played on four runs short.
Outstanding allrounder Hayley Matthews spearheaded the bowling effort with 4/15 off her 10 overs, while Taylor and Afy Fletcher split the other six wickets between them.
The result was West Indies' third win of the competition, elevating them to third on the table, behind unbeaten Australia and South Africa, but after big loses to the Aussies and Indians, their inferior run rate keeps India, New Zealand and champions England alive for semi-final spots.
The White Ferns must beat the English on Sunday and Pakistan in their last round-robin encounter, then hope other results go their way to sneak into the final four.
West Indies 140/9 (Campbelle 53no, Matthews 18, Salma 2/23, Nahida 2/23) Bangladesh 136 (Nigar 25, Nahida 25no, Matthews 4/15, Fletcher & Taylor 3/29)
West Indies win by four runs
Join us at 11am Sunday for live updates of the White Ferns v England World Cup clash