West Indies enjoyed a late flurry with the ball that breathed life into their chances in the first Test against South Africa after Anrich Nortje's five-for limited the visitors to just 212 on day two.
Having skittled the hosts for 342, the West Indies were then left with a significant 130-run deficit at the end of the Nortje show.
But a brilliant spell right at the end of the day saw South Africa lose four wickets for just 18 runs towards the start of their second innings, leaving the Proteas looking frustrated.
Alzarri Joseph (5-81) started the day by picking up where he left off, ending South Africa's first innings when dealing with Gerald Coetzee (17) – caught easily by Jason Holder – and Nortje (14) to complete his maiden five-for, owing thanks to Tagenarine Chanderpaul for getting under the latter's slice.
West Indies initially stood firm against a relentless attack as they went into bat, Raymon Reifer (62) proving particularly defiant.
Runs were tricky to come by for the tourists, putting on just 65 between lunch and tea, though Reifer and Jermaine Blackwood (37) managed a respectable stand of 64.
But Nortje (5-36) removed Blackwood, his inside edge drawing a diving catch from Heinrich Klaasen, who ended Reifer's resistance in similar fashion with the West Indies on 169-4.
South Africa made light work of the rest, Nortje taking another four wickets.
Aiden Markram – scorer of 115 on day one – was seemingly in the groove once again as he hit 35 off 33.
But Dean Elgar (1) fell short going for the ramp, his first of four wickets in relatively quick succession, Joseph (2-17) taking two and Jason Holder (1-0) removing Keegan Petersen (7) lbw with the day's last delivery.
A day for the bowlers
The day's last session was particularly dramatic, with the West Indies losing seven wickets and South Africa seeing four fall.
Clearly, the stars of the day were Nortje and Joseph, who each secured five-fors. The South Africa man deserves special mention, however, with his figures of 5-36 truly exceptional.
Holder reaches a milestone
The scalp of Petersen right at the end of the day was momentous for Holder, who reached 150 Test wickets.
As such, he became only the second West Indian to achieve 150 wickets and 2,500 runs in Test cricket. Joseph may have been the main man on the day, but Holder had his moment to shine as well.