Chris Johnson had a pair of homers among his four hits and drove in a career-high six runs to back up another solid outing by Wandy Rodriguez, and the Houston Astros beat the New York Mets 8-1 on Wednesday to complete a three-game sweep.

The win gave Houston its first series sweep of the season and first series win since the opening three games.

Johnson's first homer of the season off Chris Schwinden (0-1) was a three-run shot to the Crawford Boxes in left field that put Houston up 3-0 in the second inning. Jed Lowrie and Brian Bogusevic reached on consecutive singles.

Johnson went deep again in his next at-bat, this one a two-run homer to left center that pushed the lead to 5-0. It was the first career multi-homer game for Johnson and first by an Astro this year.

Rodriguez (3-2) yielded six hits and a run in seven innings to lower his ERA to 1.64. He has won three in a row and allowed just three runs combined in those starts, after opening the season with two consecutive losses.

Schwinden allowed six hits and five runs in four innings in his second start of the season. He also pitched four innings in his other start this season, an 18-9 loss at Colorado in which he received a no decision.

The Astros tacked on three runs in the fifth inning with an RBI double by Bogusevic, and run-scoring singles by Johnson and Jason Castro. Johnson added a single in the seventh, but Castro grounded into a double play to end the inning.

Houston piled up 15 hits, including three from Lowrie and two apiece from Carlos Lee, Bogusevic and Castro.

David Wright walked in the fourth inning, stole second base and scored on a single by Andres Torres to leave Houston up 5-1. Wright tripled with one out in the eighth, but reliever David Carpenter retired the next two batters to leave New York empty-handed.

The Mets had trouble stringing hits together against Rodriguez. They got more than one in an inning just once while he was pitching. A single by Kirk Nieuwenhuis followed a double by Scott Hairston in the sixth, but Rodriguez retired the next two batters to get out of the inning.

Houston center fielder Jordan Schafer walked in the first and stole second. He has now reached base safely in each of the 24 games he's played this season — the second-longest streak to start a season in franchise history.

New York's Ruben Tejada hit a leadoff double, but was thrown out at third trying to stretch it for a triple. He singled in the third and added a double in the fifth inning.

NOTES: Mets OF Lucas Duda, who has been out of the lineup for the last two games with flulike symptoms, was in the original lineup Wednesday, but a late change left him out of the starting lineup. Nieuwenhuis took his spot in the batting order, Scott Hairston moved to right field and Nieuwenhuis played left. ... Schafer, who sat out Tuesday after experiencing soreness in his left side, started on Wednesday, but was replaced by Justin Maxwell in the fifth inning because of tightness in his lower back.