It was the third successive win of the toss for West Indies captain Denesh Ramdin, who elected to bowl in both of the first two tests last month.
Both teams made a single change as the West Indies brought back all-rounder Jermaine Blackwood while South Africa handed Simon Harmer a test debut.
The 25-year-old off-spinner is the third debutant in as many tests for South Africa, who lead the series 1-0 and will make sure they retain their status as the top ranked test nation if they win.
Harmer's selection follows a debut in the last test for right-hander Temba Bavuma and in the first test for Stiaan van Zyl, who scored a century on debut.
South Africa won the first test in the three-match series by an innings and 220 runs in Pretoria before the second test in Port Elizabeth ended in a rain-affected draw.
South Africa: Alviro Petersen, Dean Elgar, Faf du Plessis, Hashim Amla (captain), AB de Villiers, Stiaan van Zyl, Temba Bavuma, Simon Harmer, Vernon Philander, Dale Steyn, Morne Morkel.
West Indies: Devon Smith, Kraigg Brathwaite, Leon Johnson, Marlon Samuels, Shivnarine Chanderpaul, Jermaine Blackwood, Denesh Ramdin (captain), Jason Holder, Jerome Taylor, Sulieman Benn, Shannon Gabriel.

Latest News from Sports News Desk