NEW YORK -- Hector Carrasco hung right in there against a pitcher with 598 more starts.
"We got it done tonight. We struggled through it, and nothing ever comes easy for us. The bullpen did a good job," Nationals manager Frank Robinson said.
Gary Majewski (4-3) pitched two scoreless innings for a victory, the Nationals' second in seven games. But Robinson wasn't around to see the end of it -- he was ejected for the third time this season in the sixth.
Substitute left fielder Marlon Anderson homered and threw out Byrd at the plate for the Mets, who lost for the 13th time in 16 games. They just returned home from a 2-8 road trip to Florida, Atlanta and St. Louis that almost certainly dashed their playoff hopes.
With right-hander John Patterson recovering from a sinus infection, the Nationals needed to get creative in finding a starter, so they turned to Carrasco, who gave up Cal Ripken Jr.'s 3,000th hit in April 2000.
On the last day of that season, Carrasco made his only previous major-league start, for Boston at Tampa Bay. But he had a 2.04 ERA in 59 relief appearances this year for the Nationals, so they figured he was as good a choice as any.
The right-hander began laughing when he learned he was starting on his way to the ballpark at about 2:30 p.m. And he wasn't the only one surprised.
"He's starting? Wow!" teammate Esteban Loaiza said before the game.
Carrasco did just fine. He allowed two runs and three hits in four innings, striking out a career-high six and lasting 74 pitches.
"It is different. You have to try different things, you have to be careful. I like it," Carrasco said. "I told the guys I could go nine innings."
New York cost itself a chance to rally with some bad bunting and inexplicable baserunning in the seventh.
Pinch-hitter Jose Offerman drew a leadoff walk, but Jose Reyes failed to bunt him over and struck out on a high pitch. Kaz Matsui sent Majewski sprawling to the mound with an apparent single to center, but Offerman thought the pitcher caught the ball and broke back to first.
"You've got a second to think about it. You don't have all day," Offerman said.
He was easily forced out at second by Wilson, and Carlos Beltran flied out to end the inning.
"It always seems that odd things happen in my games, crazy things that you don't see every day," Glavine said. "We're not able to do the things we need to do to win games."
With two on in the eighth, Majewski got Chris Woodward to ground into an inning-ending double play, preserving a 3-2 lead.
Glavine (10-13) allowed three runs and eight hits in seven innings for another hard-luck loss.
"Sure, it's frustrating," he said after his 600th career start. "There's only so much satisfaction you can take out of it."
The left-hander hit an RBI single in the second, and Anderson connected leading off the fourth.
The Nationals added a run in the ninth on an ugly, underhand throwing error by catcher Ramon Castro on Cristian Guzman's sacrifice bunt.
"The baseball gods are showing me a little bit of everything this year," Mets manager Willie Randolph said. "We just seem to make a mistake at the most inappropriate time."
Robinson was ejected by plate umpire Jeff Nelson in the sixth for yelling from the dugout to argue a checked swing by Diaz. The irate manager then came out and went nose-to-nose with Nelson and crew chief Joe Brinkman, pointing and hollering before finally leaving the field after nearly five minutes.
Robinson said he and Nelson have never gotten along. A laptop computer right outside the manager's office displayed a picture of Diaz going too far on the disputed check swing.
"All I said to him was that you should have been able to call that. To me that's not arguing balls and strikes," Robinson said.
Brinkman was the umpire Byrd bumped into on June 4 after he was ejected for arguing a check-swing call by another ump. The outfielder won the appeal of his two-game suspension, saying the contact was unintentional.
- The Nationals are 11-8 in their last 19 road games.
- Glavine is 0-3 in his past four starts despite a 2.63 ERA.
- Roger Clemens (668) and Greg Maddux (635) are the only active pitchers with more starts than Glavine. He has made at least 30 starts in 10 straight seasons.
- Mets LF Cliff Floyd did not start because of a tight left hamstring.
- Guzman, who entered batting .200, doubled twice and scored. He is 14-for-36 (.389) with a homer against the Mets this year.