NEW YORK -- It's been more than a century since a National League starting pitcher was as perfect as Stephen Strasburg so far.
Strasburg stayed undefeated, winning a marquee pitching matchup against an ailing Noah Syndergaard by tossing seven innings of two-hit ball Friday night that sent the Washington Nationals to a 3-1 victory over the banged-up New York Mets.
Clint Robinson hit a two-run homer for the Nationals, going deep for the second consecutive night, and Daniel Murphy added an RBI double against his former team. Strasburg (12-0) struck out nine and became the first NL starter in 104 years to win his first 12 decisions in a season. He has won a franchise-record 15 straight since September.
"Just shows how good they swing on the days I pitch, I guess," Strasburg said with a laugh.
Oliver Perez and Blake Treinen combined to escape an eighth-inning jam, and Washington extended its NL East lead to four games over the Mets after dropping the opener of the four-game set Thursday night.
"Series like this, they tend to be, who makes the least amount of mistakes -- and we didn't make very many mistakes tonight," Nationals closer Jonathan Papelbon said.
Syndergaard (9-4) and slugger Yoenis Cespedes left early with injuries, hours after New York announced that struggling pitcher Matt Harvey will have season-ending surgery for thoracic outlet syndrome.
Cespedes was pulled after three innings with a strained right quadriceps and said he hopes to return after the All-Star break. The slugger got hurt chasing Murphy's double to deep center field in the third and was replaced by Juan Lagares in the fourth.
With his velocity dipping, Syndergaard exited in the fifth with arm fatigue that was not elbow-related, the Mets said. The big right-hander has been pitching with a bone spur in his right elbow that he called "pretty insignificant."
"His arm went dead. He's got a tired arm and (his) stuff went away," manager Terry Collins said. "But he said there's no pain."
Cespedes and Syndergaard were selected for the All-Star Game on Tuesday in San Diego, but both are unlikely to participate, Collins said. They are expected to be examined Saturday.
"It's disappointing, but there will be a lot more," Syndergaard said. "It's a long season, you put a lot of wear and tear on your body, just right now I think I need a little break."
Strasburg also was picked for the NL squad but was replaced on the roster Friday by Washington teammate Max Scherzer. Strasburg came off the disabled list this week and won't pitch in the Midsummer Classic as a precaution. The right-hander is from San Diego and plans to attend the game, the Nationals said.
"They came to me and they said that that was what they were thinking," Strasburg said. "In my head, I'm like, I want to make up for the two starts I missed, so hopefully be able to start the first game back and get the second half going right."
After tossing 6 2/3 innings Sunday against Cincinnati in his return from an upper back strain, Strasburg was pulled with a no-hitter intact because he had already thrown 109 pitches.
"I think the DL stint, good thing was that it wasn't something that was impacting my throwing arm," Strasburg said. "So it wasn't really like a big process to try and get back into things. I think my arm felt good. When my trap and back subsided a little bit, I was able to throw in between and maintain what I've been working on."
Papelbon pitched a perfect ninth for his 18th save in 20 chances. With his 367th save, he tied Jeff Reardon for ninth on the career list.
It was the first matchup between Syndergaard and Strasburg, who is 3-0 with a 1.83 ERA in three outings against the Mets this year. He became the first NL starter to begin 12-0 since Hall of Famer Rube Marquard opened 18-0 for the New York Giants in 1912.
"Speaks for itself, man," Papelbon said.
Washington improved to 15-1 with Strasburg on the mound this year. He is the only qualified starter in the majors without a loss.
"I think this year he has become a more complete pitcher than I've personally seen in the past," Mets second baseman Neil Walker said. "So, he's as advertised."
New York dropped to 7-2 on an 11-game homestand, its longest of the season.
The start was delayed 37 minutes by rain.
Murphy, booed again by the Citi Field crowd of 35,030, has hit safely in all 11 games against the Mets since they let him leave as a free agent in the offseason. He's batting .409 with 15 RBI and five of his career-high 15 homers vs. New York.
Nationals: 1B Ryan Zimmerman was placed on the 15-day disabled list with a left rib cage strain.
Mets: Rookie RHP Seth Lugo relieved Syndergaard with New York trailing 3-0 and tossed two hitless innings.
Scherzer (9-6, 3.21 ERA) pitches Saturday night against RHP Logan Verrett (3-5, 4.01), who starts in place of Harvey.
Trout, Ohtani put Angels past Rangers 4-3 for 3rd straight W
Mike Trout delivered a tiebreaking RBI single in the eighth inning, and the Los Angeles Angels rebounded from a rough start for their third straight victory, 4-3 over the Texas Rangers on Saturday night.
Twins clinch 2nd straight playoff spot, beat Mills, Cubs 8-1
Eddie Rosario, Miguel Sano and Josh Donaldson homered as the Minnesota Twins clinched a second straight postseason berth with an 8-1 victory over the Chicago Cubs on Saturday night.
Ron Gardenhire announces retirement
Tigers manager Ron Gardenhire says it was a tough decision to retire, but he wants to focus on his health.
Minnesota Twins' Josh Donaldson says MLB umps have 'no accountability'
Twins slugger Josh Donaldson lashed out at Major League Baseball's umpires, saying that there's "no accountability" for them and that most "don't care."
Longtime baseball pro scout Gary Hughes dies at 79
Gary Hughes, a beloved professional scout for numerous big league organizations during a 54-year career, has died in Northern California after having cancer. He was 79.
Fantasy baseball daily notes: Pitcher and hitter rankings for Sunday's games
Prepare your fantasy baseball lineups confidently with our daily preview, including pitcher projections, hitter matchup ratings and more.