Australia were in a commanding position at 147 for one wicket at tea after Warner and debutant Alex Doolan (48 not out) shared a 146-run partnership to extend their lead to 338 runs.
Warner's contribution with the bat, ably supported by Doolan, followed a seven-wicket haul for Johnson as South Africa were bowled out for 206 in their first innings before lunch.
It was a typically cavalier innings by Warner who punished the bowlers but was dropped three times. The first was the easiest opportunity when Warner was on 27 but substitute fielder Dean Elgar dropped a high one in the deep.
Two more slashes provided top edges for the slips that Alviro Petersen and Graeme Smith got hands to but could not hold, giving Warner an invitation to continue plundering runs which he did not decline.
It piled on the agony for the top-ranked test side, whose ordinary bowling was matched by uncharacteristically sloppy fielding and came after Johnson scythed his way through the batting order as he took three more wickets to end with a figures of 7 for 68.
Only AB de Villiers provided any resistance with a defiant 91 that helped South Africa narrowly avoid the follow-on after starting the day 140 for six, still 257 runs adrift.
Robin Peterson departed after just 10 balls, gloving a bouncing ball from Johnson straight up into the air and Australia skipper Michael Clarke pouched the catch.
De Villiers and Vernon Philander compiled a 49-run partnership before the latter was adjudged lbw to spinner Nathan Lyon after the Australians had asked for a review of the initial not-out decision.
Some lusty blows from De Villiers ensured the follow-on target was passed but South Africa's hopes of batting on to lunch ended as he was out nine runs short of a century trying to blast a slower ball from Johnson back over the bowler's head to be taken by Warner at mid-off.
South Africa made an early inroad with the wicket of opener Chris Rogers (1) in their second over, bowled by Dale Steyn, but after that the hosts were put to the sword by Warner and Doolan.
(Editing by Ed Osmond)
