Kagiso Rabada and Anrich Nortje hastened the West Indies' side to impending defeat, leaving the hosts at 82/4 at the end of day two of the first Test against the Proteas in St Lucia.
The West Indies are still 143 runs away from forcing South Africa to bat again and if they do, it will be a wonderful effort from them.
Rabada (2/18) and Nortje (2/34) were spurred on by Quinton de Kock's Test-best of 141*, which allowed South Africa to score an imposing 322 after dismissing the West Indies out for a record low 97 in their first innings.
The hosts will need Jermaine Blackwood (10*) to rein in his attacking instincts and Roston Chase (21*) to help and stretch the game into a fourth day.
The duo toughed it out for an unbeaten 31-run fifth-wicket stand that will give the Windies a fighting chance on Saturday (Play starts at 16:00 SA time).
SCORECARD | West Indies v Proteas, 1st Test
While the West Indies batted with far better application than their score suggested, South Africa's bowlers coaxed more out of the pitch than they did.
This was evident in Rabada's dismissals of Kraigg Brathwaite (7) and Kieron Powell (14). Brathwaite's poor test was ended by a delivery that pitched on a good length but cut back and hit him low on the pads.
He wasn't given out, but SA's review was affirmative and the West Indies were 12/1. Powell's reputation as a pretty but ineffective batsman was properly embellished again, where his silky drives were no match for Rabada's pace and guile.
Having survived a positive leg-before shout through a review, Rabada pinned him in front and a review couldn't save him.
This opened the door for Nortje, who twice combined with Wiaan Mulder to get rid of Shai Hope (12) and Kyle Mayers (12).
Hope's mind was defeated by the movement and bounce outside off-stump and fenced to Mulder at third slip.
Mayers was in for a good time and not a long time when he sparred three boundaries. His mind was shot and when he guided a catch to Mulder at third slip, the West Indies were 51/4.
It should have been 51/5, but Kyle Verreynne grassed a regulation chance at backward short-leg from Chase off Ngidi.
Blackwood and Chase were regularly beaten outside off-stump, but they would have watched from De Kock as to how to bat on difficult pitches.
Earlier in the day, De Kock took the vagaries of the tricky surface when he freewheeled his way to a sixth Test ton of the highest class.
It was De Kock's first Test ton in 19 innings and 12 Tests since his 111 against India in October 2019 and his first 50-plus score since January 2020.
It allowed SA to stretch their lead from their overnight lead of 31 when they were 128/4 at stumps to an imposing 225.
De Kock dominated all but one of the partnerships he batted in as SA inched from parity at the close of day on day one to reasonable headway at lunch when they closed on 205/5.
Wickets fell around him, but De Kock stood tall, scoring 50 off 98 balls before marching to his sixth Test century. He required just 22 for his remaining 41 runs.
Such was De Kock's dominance, De Kock scored 68 of the 79 runs in his ninth-wicket partnership that took the game away from the hosts.