After spotting the Goats an early lead, Johnson netted the equalizer for Seattle in the 29th minute, heading home an accurate set-up from Christian Tiffert.
Chivas nearly took the lead in the second half on a shot that Brad Evans banged off the post, which allowed Johnson to decide the contest on another header -- this one set up by Fredy Montero -- in the 89th.
Seattle (13-6-8) extended its unbeaten streak to four games and grabbed sole possession of second place in the West, six points in back of the first-place San Jose Earthquakes.
Nick LaBrocca score for Chivas (7-12-7), which fell for the third time in four games and is likely to miss the playoffs.
Kim Kardashian, Kanye West reportedly set wedding date
Ray Liotta sues skin care company over use of likeness