Nagpur: West Indies edged past South Africa by three wickets in Nagpur to reach the World Twenty20 semi-finals and smooth England's path to the last four.
Chasing 123, West Indies needed nine from the final over, but a six from Carlos Brathwaite allowed Denesh Ramdin to seal it with two balls left.
Chris Gayle earlier took 2-17 with his off-breaks as South Africa struggled to 122-8 on a slow pitch.
England will reach the semi-finals if they beat Sri Lanka on Saturday.
West Indies, winners in 2012, are likely to meet India or Australia in the last four in Delhi on Wednesday.
Marlon Samuels is the Man of the Match
An excellent all-round show from West Indies has ensured that they beat South Africa by three wickets in the T20 World Cup 2016 and by doing so, book their place in the semi-final of the tournament.
South Africa will play Sri Lanka next and still remain in contention to make t to the final four, if other results go their way as well. They have two points from their three matches.
West Indies on the other hand have a perfect record, winning all three matches and will play their final match against Afghanistan.
South Africa made a good start to the match as they got rid of Chris Gayle for just four in the first over. A full delivery from Kagiso Rabada crashed into Gayle’s stumps.
A decent partnership began to develop between Andre Fletcher and opener Johnson Charles, but it was brought to an end as Rilee Rossouw ran him out at the non-striker’s end.
Charles and Marlon Samuels too were building a decent partnership, but but Charles was dismissed after he skied a ball from David Wiese.
Samuels during the course of this partnership went past 1,000 T20I runs. He was the second West Indies player after Gayle to do that.
Dwayne Bravo too went past 1,000 runs a few overs later. Bravo did not last long after that as he hit one straight to backward point off the bowling of Aaron Phangiso.
But South Africa did not give just yet. West Indies despite being in control kept losing wickets to lousy shots, which built the pressure. Andre Russell was then dismissed with West Indies needing run-a-ball in the 17th over.
Tahir then got rid of the West Indies skipper Darren Sammy off the very first ball put South Africa in command. But a cool innings from Samuels and some sensible batting down the order ensured West Indies got home safely.
Earlier, South Africa finished their innings at 122 for 8 in their 20 overs.
Quinton de kock was the star for South Africa as he scored a 46-ball 47, before he was bowled by Andre Russell in the 16th over.
Barring him, none of the top-order batsmen got any substantial scores. he however got some support from Wiese, who came in to bat at No. 7. Wiese and de Kock built a decent partnership, which ensured that South Africa went past the 100-run mark.
Brief scores
South Africa - 122 for 8 (de Kock 47, Gayle 2-17, Bravo 2-20, Russell 2-28)
West Indies - 123 for 7 (Samuels 44, Charles 32, Tahir 2-13)
Result - West Indies won by 3 wickets
Points - West Indies 2, South Africa 0
MOM - Marlon Samuels (West Indies)