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.
Tea was taken after Mitchell Marsh was out. With his remaining ball in the over, Rabada had Pat Cummins caught behind to be on a hat-trick. He didn't manage that but 11 balls later he bowled Mitchell Starc.
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.
Warner had at least let his bat do the talking after a week punctuated by the fallout from his altercation with South African wicketkeeper Quinton de Kock during the first Test.
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 still talkative -
Australia were 182 for eight when Starc was out but wicketkeeper Tim Paine batted well with the last two batsmen, Nathan Lyon and Josh Hazlewood as the last two wickets added 61 runs. Paine was last man out for 36.
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.
Despite suggestions on social media that Warner could be the target of abuse or derogatory signs from spectators, there was no obvious hostility from a small crowd.
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.
David Warnerkagiso rabadasouth africa vs australiasouth africa vs australia 2018steve smithVernon Philander
First Published: March 9, 2018, 9:28 PM IST