Captain Hashim Amla and AB de Villiers led the chase as South Africa cut the deficit to 102 runs in their bid to haul in the West Indies total of 329 before rain ended the second day of the third Test at Newlands on Saturday.
South Africa, 1-0 up in the three-Test series, have seven wickets in hand as they start the third day on 227 for three seeking the series success that will keep them top of the world Test rankings.
Amla, unbeaten on 55, and De Villiers, 32 not out, shared an unbroken 70-run partnership after Faf du Plessis had contributed 68 and the West Indies took just one wicket in each session of the day.
The touring side got Dean Elgar (8) out cheaply on the stroke of lunch before running out fellow opener Alviro Petersen for 42 before tea.
Du Plessis was stumped in the final session, missing a wide ball from spinner Sulieman Benn, who bowled 24 successive overs and returned figures of one for 62.
Rain fell 30 minutes before the scheduled close.
Earlier, the West Indies added 53 runs to their overnight tally of 276 for six, losing their remaining four wickets inside the first hour.
Fast bowler Dale Steyn claimed two more wickets as West Indies spent just 49 minutes at the crease, enough time for Jermaine Blackwood to top score for them with a handy 56.
The tail folded quickly, although the last three wickets were interspersed with some lusty blows off the South African pace attack.
Steyn took two wickets on Friday to become his country's second highest wicket taker in Tests and two more on Saturday increased his career tally to 393, 28 behind Shaun Pollock's record of 421.
South Africa convincingly won the first Test in Pretoria and the second match in Port Elizabeth was a rain-affected draw.
West Indies, first innings (overnight 276-6)
K Brathwaite c Elgar b Steyn 7
D Smith b Harmer 47
L Johnson lbw b Harmer 54
M Samuels c Du Plessis b Van Zyl 43
S Chanderpaul st De Villiers b Harmer 9
J Blackwood lbw b Steyn 56
D Ramdin c and b Steyn 53
J Holder c Van Zyl b Steyn 23
J Taylor c Steyn b Morkel 13
S Benn c Bavuma b Morkel 5
S Gabriel not out 4
Extras (lb-5, nb-2, w-8) 15
Total (All out in 99.5 overs) 329
Fall of wickets: 1-30, 2-80, 3-131, 4-162, 5-172, 6-266, 7-299, 8-316, 9-319
Bowling: Steyn 25-6-78-4, Philander 19-2-73-0, Morkel 19.5-1-83-2, Harmer 26-5-71-3, Van Zyl 8-2-13-1, Elgar 2-0-6-0.
South Africa, first innings
A Petersen run out (Blackwood) 42
D Elgar lbw b Holder 8
F du Plessis st Ramdin b Benn 68
H Amla not out 55
A de Villiers not out 32
Extras (lb-2, nb-8, w-12) 22
Total (3 wkts, 68.3 overs) 227
Fall of wickets: 1-48, 2-112, 3-157
Bowling: Taylor 13-1-59-0, Gabriel 12-2-41-0, Holder 14-3-46-1, Samuels 5.3-0-17-0, Benn 24-5-62-0.
Image: Hashim Amla of the South Africa during day 2 of the 3rd Test between South Africa and West Indies.
Photograph: Carl Fourie/Gallo Images