The Group I contest pitted two teams who badly needed victory to rekindle their semi-final hopes after being beaten in their respective Super 12 stage openers.
South Africa suffered a jolt even before a single ball was bowled as wicket keeper-batsman Quinton de Kock defied a team order to take a knee and sat out the match over what skipper Temba Bavuma called “personal reasons”.
They still managed to restrict West Indies to 143-8 and rode Aiden Markram’s blistering half-century to chase down the target with 10 balls to spare.
Three days after England bundled them out for an embarrassing 55 at the same venue, the West Indies put up an improved batting show but could not quite capitalise on a strong start after being put into bat.
Lendl Simmons struggled to get going but Evin Lewis smashed six sixes in his belligerent 56 to give the defending champions a decent start.
Skipper Kieron Pollard made a brisk 26 but the West Indies still fell well short of the 175-mark, which had looked well within their reach at one stage.
South Africa stuttered early in their chase with Andre Russell removing Bavuma with a direct hit in the first over.
Reeza Hendricks then partnered Rassie van der Dussen, who made 43 not out, to steady South Africa.
After Hendricks departed for 39, van der Dussen anchored the chase while Markram, who made 51 not out off 26 balls, went ballistic at the other end.
Markram brought up his 50 with his fourth six to level the score and scored the winning run off the next delivery from Russell. (Reuters)