Captain Graeme Smith [ Images ] was unbeaten on 13 at the close while Alviro Petersen was eight not out.
Earlier, West Indies compiled a painstaking 546 all out on a pitch as flat as a pancake in reply to South Africa's 543 for six declared.
Anchorman Shivnarine Chanderpaul [ Images ] added 15 runs to his overnight 151 to finish with a marathon 166.
The experienced left hander faced 357 deliveries, compiling a modest total of 10 fours and one six.
Dwayne Bravo [ Images ] made 53 in 215 balls as he and Chanderpaul ground out a partnership of 100 for the fifth wicket.
Chanderpaul was eventually caught and bowled by spinner Paul Harris who also had Bravo snapped up by keeper Mark Boucher [ Images ].
Ravi Rampaul (31) and Sulieman Benn (26) later shared an entertaining stand of 59 for the ninth wicket to help West Indies claim a narrow three-run lead on first innings.
Harris finished with two for 165 from 62 overs but paceman Morne Morkel [ Images ] was the most successful member of South Africa's attack, taking four for 116.
South Africa lead the three-match series 1-0.
South Africa: 1st innings (543-6 declared)
G Smith not out 13
A Petersen not out 8
Extras (w-2) 2
Total: 23 for no loss
Bowling: K Roach 2-0-8-0, R Rampaul 2-0-7-0, S Benn 4-1-5-0, S Shillingford 3-1-3-0.
West Indies: (1st innings):
C Gayle b Morkel 50
T Dowlin c de Villiers b Morkel 10
N Deonarine b Steyn 65
S Chanderpaul c and b Harris 166
B Nash run out 114
D Bravo c Boucher b Harris 53
D Ramdin c Petersen b Tsotsobe 1
S Shillingford c de Villiers b Kallis 7
S Benn c Kallis b Morkel 26
R Rampaul c Boucher b Morkel 31
K Roach not out 1
Extras: (b-1, lb-7, w-7, nb-7) 22
Total: 546 all out.
Fall of wickets: 1-13, 2-106, 3-151, 4-371, 5-471, 6-476, 7-486, 8-486, 9-545.
Bowling: D Steyn 29-4-105-1, M Morkel 34.1-9-116-4, L Tsotsobe 28-10-68-1, P Harris 62-9-165-2, J Kallis 23-7-65-1, A Petersen 5-0-19-0.