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.
Selena Gomez drops F-bomb, walks off stage during Jingle Ball performance
Trader Joe's: Car crashes into Long Island store, injuring 11