The West Indies raced to 86 for one by the end of day two in the second Test at Warner Park in St Kitts on Saturday after South Africa declared on 543 for 6.
The home side were 457 runs behind with nine wickets in hand when bad light stopped play for the day.
Captain Chris Gayle led the run chase with an unbeaten 42 while Narsingh Deonarine, promoted to the number three position ahead of Brendan Nash who occupied that position in the previous Test, was the other not-out batsman on 33.
After opener Travis Dowlin was caught by AB de Villiers at slip for 10 off a Morne Morkel delivery, Gayle and Deonarine combined for 73 runs as Gayle plastered seven fours and Deonarine hit two fours and a six.
Before the declaration, De Villiers became the third South African to score a century in their innings following captain Graeme Smith's 132 on Friday and Jacques Kallis's 110.
De Villiers hit 13 fours and six sixes from 168 balls to help him reach 135.
South Africa won the first Test by 163 runs.
South Africa (1st innings):
G Smith b Roach 132
A Petersen c Roach b Shillingford 52
H Amla c Bravo b Shillingford 44
J Kallis c Rampaul b Shillingford 110
AB de Villiers not out 135
A Prince c Gayle b Benn 9
M Boucher run out 17
D Steyn not out 20
Extras: (lb-5, w-2, nb-17) 24
Total: (for 6 wickets - declared) 543
Did not bat: P. Harris, M. Morkel, L. Tsotsobe
Fall of wickets: 1-99, 2-211, 3-283, 4-421, 5-442, 6-490.
Bowling: K. Roach 22-4-72-1 (nb-12 w-1), R. Rampaul 18-4-65-0 (nb-1), S. Benn 30-3-124-1, D. Bravo 18-2-58-0 (w-1), S. Shillingford 52-4-193-3 (nb-4), N. Deonarine 3-0-20-0, B. Nash 4-0-6-0
West Indies (1st innings):
C Gayle not out 42
T Dowlin c de Villiers b Morkel 10
N. Deonarine not out 33
Extras: (nb-1) 1
Total: (for 1 wicket) 86
Fall of wickets: 1-13
Bowling: D. Steyn 7.2-2-15-0, M. Morkel 6-0-29-1 (nb-1), L. Tsotsobe 4-0-19-0, P. Harris 6-0-23-0.