South Africa held their collective nerve to edge West Indies by three wickets under the Duckworth-Lewis method in a rain-disrupted shootout for a semi-final spot at the Twenty20 World Cup in Antigua.
The unbeaten Proteas joined England in the last four as Group 2 winners when Marco Jansen (21 not out) smashed a six down the ground off the first ball of the final over to get South Africa to their adjusted target of 123.
Left-arm spinner Tabraiz Shamsi had earlier taken 3-27 as tournament co-hosts West Indies were restricted to 135-8 before the rainstorm swept in to stop play.
Spinner Roston Chase (3-12) took three wickets late in the South African innings to set up a dramatic finish and give a glimmer of hope that West Indies might keep alive their quest for a third title.
"There's a lot of relief ultimately to get through to get to the semi-final," said South Africa captain Aiden Markram.
"I suppose it's been the story of our (tournament), get ourselves into tricky positions and sort of by hook or by crook get over the line."
The other two semi-finalists will be decided on Monday when India and Australia meet in St Lucia and Afghanistan take on Bangladesh in St Vincent in the last two matches in the Super Eight stage.

Ravindra puts New Zealand in command against England
Russell takes pole for Austrian GP as Verstappen crashes
Sinner, Sabalenka headline Wimbledon's opening day
Iran wait on World Cup progress after draw with Egypt
Belgium beat New Zealand 5-1 to advance to World Cup knockout stage
