South Africa booked their place in the semi-finals of the T20 World Cup as they edged home by three wickets against the West Indies.
They had looked in control for much of the rain-affected match in Antigua before late wickets set up a tense finish.
Marco Jansen eventually steered them home with three wickets to spare, sending the co-hosts crashing out of the tournament.
West Indies were dealt two early blows as Shai Hope and Nicolas Pooran fell in the first two overs, but Roston Chase and recalled opener Kyle Mayers set about repairing the innings.
They added 84 for the third wicket before Mayers fell to Tabraiz Shamsi for 35, followed quickly by captain Rovman Powell and Sherfane Rutherford.
Shamsi, who finished with three for 27, added the wicket of Chase for 52 from 42 balls as the West Indies slipped to 97 for six – a couple of sixes from Andre Russell lifting them to 135 for eight.
Russell claimed the wickets of Reeza Hendricks and Quentin de Kock in the second over before rain intervened, setting South Africa a reduced target of 123 from 17 overs.
After losing Aiden Markram for 18, they looked in control at 77 for three in the eighth over before Alzarri Joseph had Heinrich Klaasen caught behind for 22.
The spin of Roston Chase picked up the key wicket of Tristan Stubbs for 29 as a spell of three for 12 set up a tense finish with five needed from the final over.
But Jansen finished it in a hurry, hitting the first ball for six to send unbeaten South African through on top of their Super 8 pool with England joining them in the last four.
“We keep finding a way to win these matches whatever the situation,” Player of the Match, Tabraiz Shamsi, said. “Our supporters would probably like bigger wins. But things like this keep us in check and we’ve been able to overcome these moments throughout the tournament.”
What’s next?
South Africa will face the side that finishes second in Group One, with England facing whoever tops the group. The two semi-finals take place on Thursday June 27, ahead of the final on June 29.
Ad content | Stream Sky Sports on NOW
Stream Sky Sports live with no contract on a Month or Day membership on NOW. Instant access to live action from football, darts, cricket, F1, tennis, golf, rugby league, rugby union and more.