It is their first win in six Test matches and it gets the Mark Boucher era off to the perfect start after what has been a torrid 2019 for South African cricket both on and off the field.
England will console themselves in the fact that much of their squad had been fighting illness before and during the contest, but the Proteas were full value for their win and showed patience and control with the ball to get the job done.
The visitors started day four on 121/1 needing another 255 runs for victory in what would have been their highest ever successful run chase, but they were eventually bowled all out for 268 to fall well short.
They felt overnight that they were in with a fighting chance, but the Proteas attack stuck to their guns and were never flustered even in the moments when England looked like they were batting themselves into a position to pull off the unthinkable.
It was a massive day for Nortje, who bowled with pace and aggression throughout in a performance that included the key wicket of English skipper Joe Root for 48.
Rabada and Vernon Philander opened up the attack under overcast skies for the hosts, but they couldn’t get the wicket as the dangerous Rory Burns and Joe Denly set about their business.
It was Nortje who made the all-important breakthrough with just his second ball of the day. He had started with a venomous bouncer to Burns (84) and followed it up with another short ball that rushed the English left-hander, who went on the pull.
The ball ballooned straight up to mid-on where Rabada took the simplest of catches and the Proteas were underway.
Dwaine Pretorius (1/26) then had Denly trapped LBW for 31 as England slipped to 158/3, but that wicket brought Ben Stokes to the crease to join Root.
That was always going to be the key partnership, and together the pair added 46 and were looking ominous before spinner Keshav Maharaj drew Stokes (14) into a cut that he bottom-edged onto the stumps.
Maharaj couldn’t contain himself, wheeling off in a moment of celebration that reminded of Proteas leg-spinner Imran Tahir.
Another period of consolidation followed for England, but the second new ball would do the trick for South Africa as Rabada had a driving Jonny Bairstow (9) caught sharply by Zubayr Hamza at gully.
With Root at the crease, though, England always had a chance. Nortje had other ideas with another seriously quick delivery that the captain could only edge through to Quinton de Kock for 48.
At 232/6 and still 144 away, the writing was on the wall for England and when Rabada had Sam Curran (9) caught behind, the lively crowd at Centurion were on their feet as they could finally relax in the knowledge that the game was well and truly safe.
A fired-up Nortje then got properly stuck into Jofra Archer (4), who had bowled two controversial full-tosses at him late on day two of the Test. Nortje was simply too fast for the Barbadian-born Englishman, who was helpless as he edged through to Rassie van der Dussen at first slip.
Jos Butler (22), with nothing to lose, was then out caught trying to hit Rabada out the park while South Africa’s spearhead finished the job by bowling Stuart Broad (6).