Mets left-hander Oliver Perez gave up five runs in the first two innings.
But he settled down to record a season-high eleven strikeouts.
Perez (10-7) pitched six innings, giving up only two of his five hits after the second.
It was the shortest start of the season for Claudio Vargas (9-3), who only made it into the third inning and gave up seven runs.
Milwaukee's Prince Fielder broke an 18-game homerless streak with a three-run shot in the first inning.