With England having qualified for the round of four on Sunday, the match in Antigua served as a quarterfinal to determine which team would advance from Group 2.
South Africa faltered a bit while chasing a DLS amended goal of 123, but in the end they could not break under duress, as Marco Jansen hammered a six to complete the victory with five balls remaining.
The Proteas looked to be in control after holding West Indies to 135-8, but Andre Russell scored twice in the second chase over, making them 15-2.
But an unexpected downpour that forced the players off the field for 75 minutes quickly stopped the Windies’ momentum.
After resuming play, South Africa struck swiftly with a barrage of boundaries, setting a new target of 17 overs.
But spurred on by a raucous Sir Vivian Richards Stadium crowd, the West Indies continued to fight, spearheaded by Roston Chase, who scored 52 runs at bat and claimed three wickets.
Kagiso Rabada struck a magnificent cover drive for four as the game was heading into a nerve-wracking climax, with South Africa requiring nine from seven balls. Jansen completed the task at the start of the next over.