Recalled seamer Shaun Pollock took three wickets to earn the advantage for South Africa on the first day of the third Test against West Indies on Thursday.
West Indies slumped to 100-7 at lunch after being put in to bat in overcast conditions.
Medium pacer Pollock, who was left out of South Africa's first six Tests of the season, took 3-22.
Herschelle Gibbs, who was left out of the second test, also returned to the fray and claimed three fine catches in the gully.
Fast bowler Dale Steyn found the initial chink in the West Indians' armour when he had Daren Ganga caught by Graeme Smith at at first slip for three.
Pollock, who is playing his 108th Test, struck for the first time by trapping Runako Morton in front for just one.
Gibbs took his first catch when he leapt high and to his right to remove debutant Brenton Parchment (11) off an edge to Pollock.
Fast bowler Makhaya Ntini struck in consecutive overs to have Marlon Samuels caught behind by wicketkeeper Mark Boucher for six and Shivnarine Chanderpaul snapped up by Jacques Kallis at second for a duck.
Chanderpaul, who anchored the West Indian innings in the first two Tests with a century and two half-centuries, faced just three balls.
Gibbs took the catches to see off Dwayne Bravo (13) and Denesh Ramdin (30), who fell to Pollock and fast bowler Andre Nel respectively.
Bravo captained West Indies for the first Time in a Test in the absence of Chris Gayle, who was ruled out with a broken thumb.
(Reporting by Telford Vice; Editing by Alastair Himmer)