Bridgetown - South African captain AB de Villiers won the toss and put the West Indies in to bat in the ninth and final preliminary match of the Tri-Nation One-Day International Series at Kensington Oval in Barbados on Friday.
With the winners advancing to Sunday's final against World Cup holders Australia, the hosts have retained an unchanged eleven from the side that went under to the Aussies by six wickets in a high-scoring duel three days earlier.
Skipper Jason Holder, who left the field on Tuesday with a hamstring strain after bowling just two overs, passed a fitness test an hour before the start of play to take his place at the helm of a team seeking to repeat its tournament-opening victory against the Proteas.
South Africa also go into the match with the same team from their last fixture, although that encounter lasted just one over on Sunday because of heavy, continuous rain after Australia were put in to bat.
It is therefore the first real outing of the competition for Morne Morkel, the tall fast bowler who replaces left-arm spinner Tabraiz Shamsi from the team that trounced the West Indies by 139 runs nine days earlier in St Kitts.
West Indies - Jason Holder (captain), Johnson Charles, Andre Fletcher, Darren Bravo, Marlon Samuels, Denesh Ramdin (wicketkeeper), Kieron Pollard, Carlos Brathwaite, Sulieman Benn, Sunil Narine, Shannon Gabriel.
South Africa - AB de Villiers (captain), Hashim Amla, Quinton de Kock (wicketkeeper), Faf du Plessis, JP Duminy, Farhaan Behardien, Chris Morris, Wayne Parnell, Kagiso Rabada, Morne Morkel, Imran Tahir.
Umpires: Kumar Dharmasena (WIS), Gregory Brathwaite (WIS)
Match Referee: Jeff Crowe (NZL)