The tourists had been reeling at 8-108 on Thursday before Rabada and Anrich Nortje put on 35 in their ninth wicket partnership - the longest of the innings.
But England's batsmen will be encouraged that a surface which had offered plenty of movement off the seam for their attack before lunch, became gradually more placid.
The morning session saw England remove the tourists' top-order cheaply after South Africa skipper Dean Elgar, whose team lead the three-Test series 1-0, won the toss and opted to bat despite what appeared difficult conditions after overnight rain.
James Anderson, bowling on his home ground, found some early movement off the seam and grabbed the breakthrough when he found Sarel Erwee's inside edge and wicketkeeper Ben Foakes dived to make a superb catch.
Anderson and Ollie Robinson were both beating the outside edge regularly and Robinson thought he had claimed the prize scalp of Elgar when Ollie Pope snaffled up a catch at short mid-on off the bat-pad. The umpire, though, had signalled for a no ball.
After two lbw decisions were turned down, Broad finally removed Elgar for 12 with a full length delivery which was edged to Jonny Bairstow at third slip.
Broad also removed Keegan Petersen for 21 in similar fashion with Joe Root snaffling up the catch at first slip to leave South Africa on 3-41.
England skipper Ben Stokes brought himself into the attack and struck with his third delivery -- a loose short ball which Aiden Markram attempted to pull but only managed to sky to the grateful Foakes.
Just before lunch, Stokes trapped Rassie van der Dussen lbw and although the video review backed the umpire's call, the South African, who had pushed well forward, will feel he was unlucky with a tight decision.
Anderson, bowling at the end of the ground named in his honour, was on a hat-trick after lunch, trapping Simon Harmer and Keshav Maharaj both leg before.
Broad also picked up his third wicket with Kyle Verreynne edging to Foakes before Rabada restored some stability to the innings with an impressive, composed 32 from 63 balls before tea.