Morning rain reduced the match to 36 overs a side, which could be cut further after the covers were brought out 10 minutes before the scheduled start because of light drizzle. The winners will qualify for next week's semi-finals.
Fast bowler Dale Steyn returned to the South Africa side in place of Aaron Phangiso after recovering from injury.
West Indies batsman Devon Smith replaced the out-of-form Ramnaresh Sarwan and fast bowler Tino Best came in for Kemar Roach, who is ill.
South Africa - Hashim Amla, Colin Ingram, Faf du Plessis, AB de Villiers (captain), JP Duminy, David Miller, Ryan McLaren, Robin Peterson, Chris Morris, Dale Steyn, Lonwabo Tsotsobe.
West Indies - Chris Gayle, Johnson Charles, Darren Bravo, Marlon Samuels, Devon Smith, Dwayne Bravo (captain), Kieron Pollard, Darren Sammy, Sunil Narine, Ravi Rampaul, Tino Best.
Umpires: Steve Davis and Rod Tucker (Australia).