The Nationals (22-20) had won four straight over their NL East rivals this season, including Friday night's series-opening 5-2 victory. Signs that the streak would end showed up in the first inning, when Gonzalez's pitching prowess did not.
The left-hander's three innings were a season low, and he allowed five runs and seven hits. Gonzalez lost his third straight start after starting the season winning three of four.
"[I was] falling behind on everyone," said Gonzalez, who labored with 84 pitches, throwing only 48 for strikes. "It definitely plays a toll on your pitch count. It slows the game down a lot, gets players on their heels. I didn't give any spark to the game."
Gonzalez did give a series of vague responses when asked if his latest performances were injury related. He left a start in April with shoulder tightness.
"It's just one of those things that you have to keep grinding through, trying to find out what it is. Hopefully something positive comes out of it," Gonzalez said.
Pressed further on a potential injury, he answered, "Realistically, it was just the arm [slot] dropping a lot. Guess we'll see."
Ian Desmond homered and singled for the Nationals, who had five hits in eight innings against Colon (3-5), but only one after the fourth inning.
Juan Lagares had a pair of hits, including his second home run, and he drove in three runs for the Mets. New York's center fielder also robbed Jayson Werth of a possible home run in the sixth before the sellout crowd of 41,225.
The Mets (20-22) had lost three straight and 11 of 14 games.
Gonzalez allowed seven runs on nine hits, including two home runs, in a 9-1 loss at Oakland last Sunday. That besieged version showed up from the beginning of the 4:05 p.m. ET start time.
Colon, making his first start at Nationals Park, struck out five and issued one walk in his longest start of the season for his first win since April 24. The 40-year-old had lost two of his previous three starts, allowing 16 earned runs in those outings.
In the first, Gonzalez surrendered three runs on two walks and four singles, including a two-run hit from Eric Campbell. Lagares followed with a run-scoring single, the fifth straight batter to reach base. The center fielder took Gonzalez over the wall in left-center for a two-run homer in the third for a 5-0 lead.
Asked for his take on Gonzalez's outing, Nationals manager Matt Williams said, "[He was] just very inconsistent and [kept] getting behind. If you get behind at this level, you're going to pay for it."
Adding to the dicey outing, Gonzalez popped up on a bunt attempt in the third inning with a runner at first and no outs in his lone at-bat.
Desmond launched his sixth home run of the year on a 1-2 pitch from Colon in the fourth.
Leading off the sixth, Werth mashed a Colon pitch deep to the center-field wall, only to see Lagares leap in front for the catch.
"That's a great catch," Williams said. "He's a fantastic athlete. His two-run homer is a big home run today for them today too."
Craig Stammen silenced the Mets upon entering, allowing only one hit in a career-high-tying four innings of relief. He also doubled in the fifth inning for his first hit since Sept. 13, 2011, also against the Mets. Colon, who threw 105 pitches, stranded Stammen and retired his final 11 batters.
"He was really very good today," Mets manager Terry Collins said of Colon. "It's exactly what we had talked about. When he was down in the zone, he made big pitches, he pitched ahead. You looked up in the seventh inning, cripes, he had 70 pitches. So you kind of figured he was on his game."
Colon took the loss on April 2 at Citi Field as Washington triumphed 5-1.
"We got to him last time. He got to us this time," Desmond said. "Hopefully next time, the trend continues."