West Indies off-spinner Sulieman Benn's second five-wicket haul of his career was not enough to keep South Africa from reaching a competitive 352 all out from 129.4 overs on the second day of the first Test on Friday.
Benn operated for 47 overs and took five wickets for 120 runs after South Africa had resumed on 70-3 overnight following a rain-curtailed first day.
The visitors produced two combative partnerships and dogged resistance from their lower order to fight back from 107 for 5, helped by half centuries from Mark Boucher, AB de Villiers and Ashwell Prince.
Wicketkeeper Boucher top scored with a solid 69 from 146 balls as he marshalled the lower order before becoming the last wicket to fall shortly before the scheduled close of play at Queen's Park Oval.
De Villiers, who made a diligent 68, and Prince (57) had a sixth-wicket stand of 122 which took 35.2 overs.
Prince departed when he tucked the first ball of captain Chris Gayle's only over of the innings to leg slip where Travis Dowlin got the catch.
De Villiers followed soon after when he was caught behind off Benn to leave the score at 238 for 7.
Boucher then teamed up with Dale Steyn for an 86-run eighth-wicket stand as the West Indies attack tired. Steyn hit 39 from 106 deliveries, including four fours and two sixes, before he was stumped.
Dwayne Bravo accounted for Boucher late in the day as the right hander tried to hit a six over extra cover but was caught on the boundary by Nelon Pascal.
South Africa (1st innings):
G.Smith c Bravo b Shillingford 23
A.Petersen lbw b Shillingford 31
H.Amla c Bravo b Benn 2
J.Kallis lbw b Shillingford 28
P.Harris c Shillingford b Benn 10
A.B. de Villiers c Ramdin b Benn 68
A.Prince c Dowlin b Gayle 57
M.Boucher c Pascal b Bravo 69
D.Steyn st Ramdin b Benn 39
M.Morkel b Benn 2
L.Tsotsobe not out 3
Extras: (nb-6, w-1, b-9, lb-4) 20
Total: (all out) 352
Fall of wickets: 1-55, 2-60, 3-68, 4-91, 5-107, 6-229, 7-238, 8-324, 9-330
Bowling: R.Rampaul 19-3-56-0, N.Pascal 11-1-32-0, D.Bravo 16.4-6-33-1, S.Benn 47-9-120-5, S.Shillingford 35-4-96-3, C.Gayle 1-0-2-1