Proteas Test captain Dean Elgar held firm on a tough first morning where the West Indies reduced South Africa to 44/3 at lunch.
Having again lost the toss, but batting first on a wicket of similar difficulty as the one used for the first Test at the same ground, they went through the same struggles as the West Indies did last week, but Elgar (22*) saw out the session with Kyle Verreynne (1*).
SCORECARD | West Indies v Proteas - 2nd Test
The West Indies, who made one change in Shannon Gabriel replacing Rahkheem Cornwall, read the conditions better and made full use of them.
South Africa named an unchanged side as Temba Bavuma again sat out a Test, this time through a finger injury sustained on Wednesday.
This meant the West Indies could have a proper crack at South Africa's unproven middle-order in the same sort of conditions that saw them being shot out for 97 in the first Test.
A delayed toss because of inclement weather and a short rain break also played into their hands.
They needed the second over to break open SA's batting when Aiden Markram (0) clipped a short Gabriel (1/11) delivery to Roston Chase at gully to leave SA battling at 1/1.
The West Indian bowling then dropped their pace slightly, but bowled with unerring accuracy to test Keegan Petersen (7) and Elgar.
Even though he was beaten plenty of times outside his off-stump, Elgar's judgment served him well in his unbeaten 77-ball stay.
In his second Test, Petersen failed his tough condition examination when his airy drive guided the ball to Jason Holder at second slip off Jayden Seales (1/8) to leave South Africa struggling at 26/2.
Rassie van der Dussen (4) was thoroughly worked over by Kemar Roach (1/11), who then dismissed him shouldering arms to a delivery that held its line.
The West Indies continued with their accurate lines and lengths, only allowing for two boundaries to be scored in the entire session.