The reigning world champions dominated from the first whistle on a chastening night for World Cup favourites New Zealand, who had Scott Barrett sent off in the first half, leaving his tournament participation in doubt.
South Africa hammered Wales 52-16 in Cardiff last weekend and started in the same vain, with relentless early pressure leading to a 13th-minute sin-binning for Barrett – who paid the price for repeated New Zealand infringements.
Prop Tyrel Lomax was then forced off with what appeared to be a serious knee injury before skipper Sam Kane was also shown a yellow card in a disastrous first 15 minutes for the All Blacks.
New Zealand, who were imperious in securing the 2023 Rugby Championship title last month, defended resolutely but Siya Kolisi forced his way over for the opening try after 18 minutes.
Richie Mo’unga hit the post with a simple penalty and Kurt-Lee Arendse ran in South Africa’s second try from an interception to make it 14-0.
Things went from bad to worse for the All Blacks as Barrett was shown a second yellow and sent off just before half-time for dangerously flying into a clearout – meaning he is likely to miss their World Cup opener against France on September 8.
The Springboks hit the ground running again after half-time as Malcolm Marx scored following a line-out.
Pieter-Steph Du Toit was sin-binned for a dangerous tackle but a fresh forward pack, after seven substitutions, powered over for a fourth Springboks try as Bongi Mbonambi touched down.
New Zealand had no answer to South Africa as Kwagga Smith added a fifth, with Manie Libbok flawless with the boot, before Cam Roigard’s first Test try offered New Zealand’s only moment of joy.