Livan Hernandez gave up three first-inning runs but that was all the Astros could muster during an 8-3 win.
Hernandez threw seven innings, giving up three earned runs on eight hits while striking out seven.
He lost his no-hitter in the first on a Miguel Tejada double, making it 7,579 New York Mets games with no no-nos.
David Wright, Luis Castillo and Jeff Francouer all had 2-RBI days.