A 70-run partnership between Rassie van der Dussen and Kagiso Rabada helped South Africa recover to 174 all out after a crushing middle-order collapse and set the West Indies 324 to win in a rain-affected third day of the second Test in St Lucia.
SCORECARD | West Indies v Proteas - 2nd Test
The West Indies reached 15/0 with Kraigg Brathwaite (5*) and Kieran Powell (9*) navigating the tricky six overs before stumps were drawn. They need a further 309 runs to win with two days remaining.
Van der Dussen's and Rabada's eighth-wicket alliance pulled South Africa from the quagmire of 73/7 to the safety of 143/8. With a first-innings lead of 149 accrued from bowling out the West Indies for the same score in their first innings, SA's lead swelled to 323.
Whether the West Indies can get there will remain to be seen, especially with their top-order fragility and receptive nature of the pitch when the ball is still new.
They'll have to bat very well, especially in light of the fact they've yet to cross 200 in their three previous innings in the series.
They could also take a leaf from the impressive recovery staged by Van der Dussen (75*) and Rabada (40) after the Proteas lost six wickets for 40 runs.
It was quite the spectacular batting meltdown and one that was precipitated by the unlikely figure of Kyle Mayers (3/24).
While Kemar Roach's (4/52) excellence saw him remove Aiden Markram (4) and Dean Elgar (10) to give South Africa some flutters at 33/2, it was Mayers who truly set the cat among the pigeons.
After inducing a false stroke from Keegan Petersen (18) that ended up forcing the ball onto his stumps, he had Kyle Verreynne (6) feathering one to Joshua Da Silva. He followed that up with Wiaan Mulder (0) chasing a wide delivery into Shai Hope's hands at third slip.
With Jason Holder (1/24) coaxing a false shot from first innings top-scorer Quinton de Kock to remove him for a second ball duck, SA had slipped from 44/3 to 54/6.
Van der Dussen calmly surveyed the damage from the other end but needed a partner to stay with him.
Keshav Maharaj (6) was the first one and the 19-run stand for the seventh wicket nudged the Proteas past the 220-run mark from a lead perspective.
However, he fell to an excellent slip catch from Holder to compound SA's troubles. Rabada's clear mind and the need to hit out and build a defendable target took over.
Rabada's mental clarity displayed itself when he launched Roach for a massive six over long-on, but he clattered five other fours that allowed Van der Dussen to raise his sixth Test 50 off 103 balls.
Rabada missed a maiden Test 50 when he scooped a catch to Darren Bravo at extra cover to end his momentum-shifting 48-ball knock.
Anrich Nortje (3) didn't last long when he edged Roach to Da Silva, but smart bowling and fielding placements didn't allow Van der Dussen to go after the bowlers.
The 22-run last wicket stand between Lungi Ngidi (6) and Van der Dussen frustrated the West Indies to a point where it needed Brathwaite's (1/10) intervention to end the innings.