Johnson hit a three-run home run in the second and had a two-run shot in the third. He also knocked in a run in the Astros' three-run fifth inning.
Houston starter Wandy Rodriquez (3-2) benefited from the support. He allowed one run and six hits in seven innings. He walked two and struck out five.
Johnson's home runs both came off Chris Schwinden (0-1), who was charged with six hits and five runs.
Jed Lowrie and Brian Bogusevic opened the Houston second with singles before Johnson sent a high fly over the left-field wall. Lowrie doubled with one out the next inning and, one out later, Johnson sent the ball out over the wall in left-center. They were his first two home runs this season.
Andres Tories singled in David Wright in the fourth to get the Mets on the board.
The Astros strung together five consecutive hits, including an RBI single by Johnson, for three runs in the fifth.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Exploding whale video goes viral on Internet