South Africa's bowlers ripped through the West Indies' batting as the hosts completed a 284-run win on the fourth day of the second Test at the Wanderers Stadium in Johannesburg on Saturday.
The West Indies were bowled out for 106 after being set to make 391 to win. South Africa won the two-match World Test Championship series 2-0.
The match was effectively won and lost in 8.1 overs leading up to lunch when the West Indies crashed to 34 for 6.
Fast bowler Kagiso Rabada struck twice in three balls and sparked the collapse after opening batsmen Kraigg Brathwaite and Tagenarine Chanderpaul survived the first 10 overs, putting on 21 runs.
Rabada dismissed Brathwaite for the seventh time in successive innings when he trapped the West Indian captain leg-before wicket for 18 with a ball that kept low.
Two balls later Raymon Reifer gloved a catch down the leg side to wicketkeeper Heinrich Klaasen. Spinners Simon Harmer and Keshav Maharaj also took two wickets each as the West Indies lost six wickets for 13 runs.
Off-spinner Harmer shared the new ball with Rabada and extracted extravagant turn, having Chanderpaul caught at second slip after the left-hander had faced 36 balls and scored only two runs.
Roston Chase, Jermaine Blackwood and Kyle Mayers all fell cheaply with South Africa's only setback coming after Maharaj won a successful appeal for leg before wicket against Mayers in the last over before lunch.
In celebrating, the left-arm spinner collapsed and was stretchered off the field with a left ankle tendon injury.
Maharaj was taken for a scan. With all-rounder Wiaan Mulder suffering a right index finger injury, which also required a scan, South Africa were effectively down to three frontline bowlers. The West Indies batting, though, had already been wrecked.
Mulder returned after lunch but was not required to bowl.
Joshua Da Silva, Jason Holder and Alzarri Joseph all played some aggressive strokes after lunch as the last four wickets yielded 72 runs before the match ended soon after the afternoon drinks break.
There had been concerns about Rabada's fitness after he suffered back pain during the first innings but he showed no signs of discomfort during a hostile seven-over spell.
South Africa were bowled out for 321 earlier, with captain Temba Bavuma adding only one run to his overnight 171 before he was caught at deep square leg off Holder.