Australia won the first Test at Kingsmead in Durban by 118 runs after picking up the last wicket in only the fourth over of the day.
Quinton de Kock and Morne Morkel added just five runs to their overnight score before Josh Hazlewood ended the game.
Hazlewood had De Kock trapped lbw as Australia won the match and took a 1-0 series win.
The result, however, was never in doubt after Mitchell Starc cleaned up the South African tail after Aiden Markram was dismissed for 143.
The morning began slowly, with Starc on a hat-trick ball, but De Kock played sensibly, looking to delay the Australians.
The next two overs were also maidens, but Hazlewood finished off the game when he picked up the final wicket.
At the end of the game, South Africa captain Faf du Plessis felt they fell 50 runs short in the first innings, and gave credit to the Australian tail.
For his nine wickets in the game, Mitchell Starc was the Man of the Match.
Australia (1st innings) 351: Mitchell Marsh 96, Steve Smith 56; Keshav Maharaj 5-123, Vernon Philander 2-59
South Africa (1st innings) 162: AB de Villiers 71, Aiden Markram 32; Mitchell Starc 5-34, Nathan Lyon 3-50
Australia (2nd innings) 227: Cameron Bancroft 53, Steve Smith 38, Keshav Maharaj 4-102, Morne Morkel 3-42
South Africa (2nd innings) 298: Aiden Markram 143, Quinton de Kock 83*, Mitchell Starc 4-75, Josh Hazlewood 3-61
Australia win by 118 runs
Photo: Lee Warren/Gallo Images