Rabada added a fifth wicket in the same spell as Australia were bowled out for 243 after winning the toss and batting on a green-tinged pitch on an overcast day at St George's Park. South Africa were 39 for one at the close.
Rabada finished with five for 96, having done all his damage on either side of tea, taking the key wicket of Australian captain Steve Smith, then following up by dismissing the Marsh brothers, Shaun and Mitchell, in his next over.
It was a day of contrasts. Australian opening batsmen Cameron Bancroft and David Warner survived a testing first hour, scoring only 23 runs in 14 overs, then seemed to have taken control as they added 75 runs in the next hour, only for Bancroft to be out for 38 off the last ball before lunch.
Two more wickets fell quickly after the interval, including that of Warner for 63, made off 100 balls with nine fours.
More From This Section
Smith and Shaun Marsh steadied the innings with a patient fourth wicket stand of 44 before Rabada started his devastation. Rabada produced a fast delivery angled in to the stumps to strike Smith on the back pad. Smith failed in a review of umpire Kumar Dharmasena's decision.
In Rabada's next over Shaun Marsh was beaten by a ball which swung into his pads and was also leg before. Mitchell Marsh edged a four but then was caught behind off an inside edge.
Warner, who was fined 75 percent of his match fee for the De Kock incident in Durban, started slowly but went on to bat with his usual aggression before Lungi Ngidi beat his defences with an angled delivery which hit the top of his off stump.
Ngidi, who replaced Morne Morkel in the only change in either side, took three for 51 while Vernon Philander bowled with superb control to take two for 25 in 18 overs.
When Australia fielded, Warner appeared to be his normal talkative self.
Australia claimed the wicket of first Test centurion Aiden Markram, who was leg before wicket to Pat Cummins for 11.