It was a first victory in 10 Tests for Australia after losing a series 4-0 in India and another in England 3-0 this year, and a first win in eight Ashes contests since the Perth Test in 2010.
Only the weather, which delayed play twice for a total of more than two hours, looked like extending the contest to a fifth day but Johnson put paid to that when he dismissed James Anderson caught and bowled.
England's hopes of a result at Brisbane had been slim at best when they were set 561 to win and lost two second innings wickets for only 24 runs on Saturday evening.
They were shattered when the dismissal of captain Alastair Cook for 65 triggered a collapse from 142 for four to 160 for eight in the 45 minutes between the two weather disruptions.
Image: Mitchell Johnson
Photograph: Ryan Pierse/Getty Images
PHOTOS, Ashes 1st Test: England take Day One honours
Ashes: Unintimidated England ready for challenge at Gabba
'We've played more cricket now as a group and there is belief'
'England players have got the experience of winning in Australia'
Mature Anderson ready for Ashes kill with record in sight