The Proteas limped to tea with most of their top order back in the changeroom, after bowling out Australia for 397 earlier in the session.
The Aussie left-armer produced an opening spell of 3/10 from four overs to knock the wind out of the Proteas first innings.
Johnson took four balls to claim his first wicket of the series, as he reached speeds in excess of 140 kilometres per hour first up.
Graeme Smith (10) was out the second ball he faced from Johnson. The first was a bouncer and the left-arm quick followed up with another short ball, which had Smith ducking unsuccessfully, as the ball hit the bat and looped to Shaun Marsh in the slips. South Africa were left 11 for one.
Alviro Petersen (2) was next to depart, slashing at a Johnson delivery well outside off, and only succeeded in getting a faint edge to wicketkeeper Brad Haddin.
Faf du Plessis became Johnson’s third victim. Outdone for pace, he edged to Michael Clarke at second slip to leave the hosts three wickets down for 23.
Peter Siddle removed Hashim Amla, who looked out of sorts, often misjudging the length of deliveries, before being trapped lbw for 17.
AB de Villiers (25) and JP Duminy (5) were the not out batsmen at tea.