South Africa 298 (de Kock 96, Mayers 3-28, Roach 3-45) lead West Indies 149 (Blackwood 49, Mulder 3-1) by 149 runs
St. Lucia: West Indies' vulnerable batting was again exploited by South Africa with the home side routed for 149 in reply to the Proteas' first innings total of 298 at stumps on the second day of the second Test on Saturday.
South Africa, who won the first Test by an innings and 63 runs inside three days, will start their second innings on the third day with a healthy advantage of 149 runs.
After Quinton de Kock's assured 96 helped South Africa add another 80 runs from their overnight position in the morning session, the Caribbean side tottered to 54 for four before Shai Hope provided a brief respite in an innings of 43 and a partnership of the same total with Jermaine Blackwood.
Blackwood was last out for a topscore of 49 -- which took him past 2,000 Test runs -- as the lower-order swiftly capitulated, medium-pacer Wiaan Mulder taking three wickets for one run and capitalising on the technical shortcomings of a West Indies team that started this series ranked one spot ahead of their opponents.
West Indies got off to the worst possible start when Kraigg Brathwaite fell to the first ball of the innings from Rabada caught behind down the leg-side.
Brathwaite's opening partner Kieran Powell did not last much longer, adjudged leg-before to Ngidi.
Anrich Nortje and spinner Keshav Maharaj continued the slide with the wickets of Roston Chase and Kyle Mayer.
Hope and Blackwood showed a bit of fight but from the moment they were separated, it seemed only a matter of time before the procession of wickets would continue.
Honours were shared in the morning session with de Kock's pursuit of a second consecutive Test hundred thwarted by the unlikely threat of occasional medium-pacer Mayers.
Mayers, who claimed the important wicket of South African captain and opening batsman Dean Elgar for 77 on the opening day, added the wicket of Nortje to finish with the best figures of three for 28 with the tourists losing their last four wickets for 23 runs.
West Indies failed to take full advantage of the second new ball at the start of the day and it was left to first-change bowler Kemar Roach to separate the overnight pair of de Kock and Mulder by having Mulder caught behind.
As in the first Test, de Kock then fully took charge of proceedings.
However the demise of Maharaj to the bowling of Jason Holder triggered a swift slide with de Kock's failure to register three figures being the most notable dismissal.
With Rabada at the other end, the left-hander essayed a big drive to Mayers and edged the delivery onto the gloves of Joshua da Silva, who was standing up to the stumps, and it rebounded into the safe hands of Hope at backward-point.