West Indies 123 for 7 (Samuels 43, Charles 32, Tahir 2-13) beat South Africa 122 for 8 (De Kock 47, Bravo 2-20, Gayle 2-17) by three wickets
Scorecard and ball-by-ball details
West Indies secured their spot in the World T20 2016 semi-finals with a third successive win but made hard work of chasing a small target of 123. With just a shave over a run-a-ball needed, West Indies were routinely dragged back, to a point where they needed 20 off the last two overs. However, a solid start from Johnson Charles, a composed innings from Marlon Samuels and a six from Carlos Brathwaite in the final over saw them sneak over the line. South Africa's bowling attack did their best to make up for the blunders of their batsmen, who had slumped to 47 for 5 in the ninth over before eking over 120. Aaron Phangiso, playing in his first international match in five months and the first since remodeling his action last month, and David Wiese both conceded under six runs to the over, but it was Imran Tahir who kept South Africa in the match. The legspinner gave away only 13 runs in four overs and took two wickets off successive deliveries in the 17th over. In the end, it was not enough and South Africa could exit the tournament before playing their final group match. If England beat Sri Lanka on Saturday, South Africa's campaign will be over.
Unusually for the format, this was a battle of the ball. Batsmen from both sides failed to adjust to the sluggish pace of the pitch but South Africa's line-up were also caught unawares by a surprise addition to West Indies' attack. Chris Gayle proved their nemesis in an unexpected way by removing two of South Africa's top six, and he played his part in pegging them back in the Powerplay, a situation from which they never really recovered.
The match-day pitch was not the same as the one used for the qualifying phase or the game between India and New Zealand, so there was some uncertainty as to what a good score would be. That's why Darren Sammy chose to chase and why South Africa were anxious for every run.
Their desperation showed as early as the third ball when Hashim Amla was run out by Andre Russell, who carried that success to his bowling by dismissing Faf du Plessis, caught by Sulieman Benn at mid-off. Russell also took a catch at point when Rilee Rossouw, promoted to No.4 in his first appearance in the tournament, skied the ball.
South Africa held AB de Villiers back after their initial setbacks and he came in at No.5. He saw the side through to the end of their most meagre Powerplay so far - 39 for 3 compared to scores over 60 in the previous two matches - but could not do too much more.
When Dwayne Bravo, the sixth bowler used by Sammy in the first eight overs, was brought on, de Villiers' innings ended. Sammy sensed South Africa were shaken and brought Gayle back on, with success. He broke through David Miller's defences to leave South Africa at 47 for 5.
That score could have become 59 for 6 had Denesh Ramdin completed a stumping off Benn, who foxed Wiese with a flighted delivery. Wiese had come out of his crease and missed, but Ramdin also missed and the reprieve proved a gift for South Africa.
The Quinton de Kock-Wiese partnership, worth 50 runs for the sixth wicket, was the most profitable of their innings. But the going was tough for the pair. They only found the boundary three times in the 44 balls they were together but, by the time de Kock was bowled around his legs by Russell, they had given South Africa something to work with.
Chris Morris took South Africa over 100 but they could only find eight runs off the last two overs and it did not seem enough until they received some reassurance that it could be.
Kagiso Rabada found late swing with his fifth delivery and beat Gayle to remind West Indies it was not going to be easy. West Indies, however, showed they were up to shifting gears.
They waited until the last ball of the third over for their first boundary, when Andre Fletcher lofted Rabada over midwicket for six. Johnson Charles found the going slightly easier off Chris Morris, whose second over cost 11 runs. In the absence of Dale Steyn and Kyle Abbott, Faf du Plessis recognised the need to try something and turned to spin in the Powerplay.
Tahir was brought on to bowl the fifth over and he proved difficult to get away. Wiese was tasked with doing the same at the other end. Collectively, South Africa frustrated West Indies into trying to steal a single where there wasn't one. Fletcher was halfway to the striker's end in the sixth over when Charles sent him back but, even if he had not slipped, Rossouw's direct hit was always going to beat him.
With the fielding restrictions lifted, South Africa brought on their second specialist spinner, Phangiso. Although he has changed his action, his approach appeared the same and he was typically strangling. Phangiso conceded just one run off his first over and six singles off his second. His third over was headed for a similarly economical result but Charles had had enough. He heaved Phangiso over long-on for six and the pressure dissipated.
Charles' aggression did not serve him well a second time. When he swiped at Wiese three balls later, he only managed to sky the ball to du Plessis at cover and the tension was back.
Du Plessis wanted more wickets and brought Rabada back. He started with a leg-side half-volley that Bravo flicked for four. That was followed up by two similar deliveries to Samuels, who carved one over point and then played an upper-cut to third man. West Indies scored 14 off that over to bring the required run rate to under six.
South Africa switched to squeeze mode again. Phangiso's final over cost only three and included Bravo's wicket. West Indies needed 36 off six overs but Samuels was still there. With Andre Russell, he took eight off the next over before du Plessis played his strongest hand.
Tahir's final over - the 17th of the innings - could have seen Samuels dismissed off the first ball but the bowler could not hold on to the return catch. Three balls later, Russell holed out and, the next ball, Sammy was bowled off a googly. Advantage South Africa. The next over - Wiese's final - cost just three. Advantage South Africa. Even though Samuels was still there with West Indies needing 20 off the last two overs.
He hit the first ball of Morris' final over through third man for four and, off the fourth ball, found the same area with the same result. Then he skied the ball. Still advantage South Africa.
Rabada was asked to defend nine off the final over and started with a slower ball. Brathwaite hit the second ball for a six to break the tension, and West Indies completed the win with two balls to spare.
Firdose Moonda is ESPNcricinfo's South Africa correspondent