Gonzalez (10-6) was working on a no-hitter until New York's Zach Lutz led off the seventh inning with a line drive behind first base that appeared to be going foul, but just caught the line for a single.
That was the only hit the left-hander would allow in the 110-pitch performance. He issued two walks and struck out eight as the Nats took the first of a four-game series.
Mets starter Carlos Torres (3-4) gave up four of the long balls, yielding six runs on five hits over four full innings.
Pregnant Mila Kunis wins 'Best Villain' at MTV Movie Awards
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend