Nortje destroyed the top order with figures of 6-3-8-3 in the morning session in which the hosts limped to 48 for four by lunch.
Lungi Ngidi and Anrich Nortje shared nine wickets to dismiss the West Indies for a miserable total of just 97 in only 40.5 overs before South Africa finished the first day of the first test at the Darren Sammy Stadium in Gros Islet, St Lucia, on 128 for four for a lead of 31.
Ngidi, who was wicketless in the morning session, then claimed an extraordinary 5-9 in the afternoon session to finish with figures of 13.5-7-19-5 as the West Indies recorded their lowest score against South Africa.
"We wanted to be ruthless in terms of our lines and lengths and we managed to do that today," Ngidi said after the day's play. “It’s been a work in progress and it’s been a while since I’ve been able to produce a performance like this.
Everyone knows I bring the ball back into the right-handers but I’ve been working hard on taking it away from them, so to see it come to fruition today is very rewarding," Ngidi said.
"Day in and day out the guys in the slip cordon work on their catching, for hours after the regular practice is over, so a big thanks to them for hanging onto everything today," Ngidi said.
"I was very emotional after taking the fifth wicket, to be honest. It’s been a while – my only other five-fer was on debut three years ago. There have been a few four-fers but this is special," Ngidi said.
Aiden Markram (60) was especially impressive given the solidity of his defence and the implacability of his patience. It bore the early hallmarks of a determined, classic test match innings before he edged Jayden Seales to ‘keeper Joshua da Silva shortly before the close of play.
South Africa handed debuts to batsmen Peterson and Kyle Verreynne and opted for just one spinner in Keshav Maharaj despite selecting four spinners in the enlarged squad of 19 players.
Allrounder Wiaan Mulder was also included in the starting XI giving the tourists a five-man bowling attack.
Vice-captain Temba Bavuma was ruled out of the test with an injury to his left hip but is expected to be fit for the second test starting on 18 June.
WEST INDIES: Kraigg Brathwaite (capt), Shai Hope, Nkrumah Bonner, Kyle Mayers, Jermaine Blackwood, Roston Chase, Joshua Da Silva (wk), Jason Holder, Rahkeem Cornwall, Kemar Roach, Jayden Seales.
SOUTH AFRICA: Dean Elgar (capt), Aiden Markram, Keegan Petersen, Rassie van der Dussen, Kyle Verreynne, Quinton de Kock (wk), Keshav Maharaj, Wiaan Mulder, Kagiso Rabada, Lungi Ngidi, Anrich Nortje.