Australia, castigated for a top-order failure on day one, roared back to rattle the trophy-holders with six wickets for nine in one of their worst Ashes collapses.
By stumps on the second day in Brisbane, the home side had cruised to 65 without loss, 224 runs in front, with David Warner on 45 and Chris Rogers not out 15.
And it was Johnson, who has been erratic in his Test career and was targeted mercilessly by England's Barmy Army fans in the 2010/2011 series, who sparked the turnaround.
The left-armer, steaming in and bowling at hostile pace, captured four for 46 off 13 overs, taking the wickets of Jonathan Trott, Michael Carberry, Joe Root and Graeme Swann.
The confidence flooded back into the Australians, coming off a 3-0 series loss to England three months ago, with Ryan Harris taking three wickets, spinner Nathan Lyon denied a hat-trick and Steven Smith holding three catches.
They will now be confident of extending an unbeaten record at the Gabba ground which goes back to 1988. Australia are also trying to avoid losing four Ashes series in a row for the first time in 123 years.
England, who lost six wickets for just nine runs, were left to contemplate their heaviest collapse since Melbourne 1990, when they gave up nine wickets for 47.
Their lowest first-innings score since the 102 against Australia at Headingley in 2009 came after the key scalp of Kevin Pietersen triggered a clatter of wickets.
Pietersen, playing his 100th Test, was dropped on eight in a sharp caught and bowled chance by Peter Siddle.
England were pinned down for 13 dot balls before Pietersen, on 18 from 42 balls, lost concentration and flicked Harris off his pads to mid-wicket, where debutant George Bailey accepted a fine catch.
Johnson struck again three overs later when he peppered Carberry with some short deliveries before getting him to edge to Shane Watson at second slip for 40.
Then Lyon struck, removing the dangerous Ian Bell (5) and Matt Prior (0) with consecutive deliveries.
Smith snapped up a bat-pad catch to dismiss Bell, the man of the last series in England, and took a magnificent sprawling catch again next ball to send Prior on his way after a DRS review for a golden duck.
Ashes villain Stuart Broad came out to loud boos and saw off Lyon's hat-trick ball, but Joe Root was the seventh wicket to fall in the next over for two.
Root played away from his body and nicked to third slip, where Smith took his third catch in two overs to leave England shellshocked at 89 for seven.
Graeme Swann was next to go, caught close in by Bailey off Johnson for a duck, while Harris dismissed Chris Tremlett (8) and Siddle finally ended Broad's spirited knock of 32, caught in the deep by Chris Rogers.
Before lunch Australia had removed England skipper Alastair Cook and Jonathan Trott cheaply.
Harris coaxed an edge off Cook to wicketkeeper Brad Haddin for 13 and Johnson followed up snaring the wicket of Trott, who tickled one down the leg-side to Haddin for 10.
The first innings by Australia had ended on 295 when Haddin was run out chasing a century.
The veteran wicketkeeper, 78 not out overnight, attempted a risky second run on 94 but was beaten by Carberry's throw from deep point to Prior behind the stumps.
Broad, England's hero of the first day, walked off the Gabba holding the match ball aloft in tribute to his six for 81 off 24 overs.
Australia 1st innings (overnight 273 for 8):
Chris Rogers c Bell b Broad 1
David Warner c Pietersen b Broad 49
Shane Watson c Swann b Broad 22
Michael Clarke c Bell b Broad 1
Steve Smith c Cook b Tremlett 31
George Bailey c Cook b Anderson 3
Brad Haddin run out (Carberry) 94
Mitchell Johnson b Broad 64
Peter Siddle c Cook b Anderson 7
Ryan Harris c Prior b Broad 9
Nathan Lyon not out 1
Extras (lb11, w1, nb1) 13
Total (all out; 97.1 overs) 295
Fall of wickets: 1-12 (Rogers), 2-71 (Watson), 3-73 (Clarke), 4-83 (Warner), 5-100 (Bailey), 6-132 (Smith), 7-246 (Johnson), 8-265 (Siddle), 9-282 (Harris), 10-295 (Haddin)
Bowling: Anderson 25.1-5-67-2, Broad 24-3-81-6 (1nb, 1w), Tremlett 19-3-51-1, Swann 26-4-80-0, Root 3-1-5-0
England 1st innings:
Alastair Cook b Haddin b Harris 13
Michael Carberry c Watson b Johnson 40
Jonathan Trott c Haddin b Johnson 10
Kevin Pietersen c Bailey b Harris 18
Ian Bell c Smith b Lyon 5
Joe Root c Smith b Johnson 2
Matt Prior c Smith b Lyon 0
Stuart Broad c Rogers b Siddle 32
Graeme Swann c Bailey b Johnson 0
Chris Tremlett c Lyon b Harris 8
James Anderson not out 2
Extras (b4, lb2) 6
Total (all out; 52.4 overs) 136
Fall of wickets: 1-28 (Cook), 2-55 (Trott), 3-82 (Pietersen), 4-87 (Carberry), 5-87 (Bell), 6-87 (Prior), 7-89 (Root), 8-91 (Swann), 9-110 (Tremlett), 10-136 (Broad)
Bowling: Harris 15-5-28-3, Johnson 17-2-61-4, Siddle 11.4-3-24-1, Lyon 9-4-17-2
Australia 2nd innings:
Chris Rogers not out 15
David Warner not out 45
Extras (lb5) 5
Total (0 wkt; 22 overs) 65
Bowling: Anderson 5-1-16-0, Broad 5-1-13-0, Tremlett 4-2-8-0, Swann 6-1-22-0, Root 2-1-1-0