SAN FRANCISCO — David Peterson encountered more traffic than the Bay Bridge in rush hour, but was resourceful enough Saturday night to record outs when the Mets needed them.
There was continual pressure on the left-hander. And whether he needed a double play or strikeout, the result followed.
Peterson’s escape act lasted for six innings, long enough for the Mets to rally and win their sixth straight, 2-1 over the Giants at Oracle Park.
The Mets, who remained a half-game ahead of the Phillies for first place in the NL East, will shoot Sunday for a second straight series sweep. With a victory, the Mets would match their longest winning streak of the season.
Peterson allowed 11 base runners over his six innings, but surrendered only one run. It was the 13th time this season Peterson lasted at least six innings. Mets starters overall have pitched at least six innings only 31 times in 105 games.
Peterson, who threw 91 pitches, lowered his ERA to 2.83 with a fourth straight start in which he lasted at least six innings and allowed one or no earned runs. All eight of the hits he allowed on this night were singles.
The key Mets hit was delivered by Mark Vientos, who stroked a two-run double in the sixth to erase the team’s 1-0 deficit. Overall, the Mets went only 2-for-11 with runners in scoring position.
Reed Garrett, Ryne Stanek and Edwin Díaz each fired a scoreless inning in relief. Díaz, who got the final two outs with the tying run at second base, recorded his 22nd save in 24 chances.
Pete Alonso’s lunging grab on Patrick Bailey’s line drive ended it, completing a second straight superb defensive performance by the Mets first baseman.
Francisco Alvarez gave the Mets their best chance early with a two-out triple to right field — Luis Matos misjudged the ball and then misplayed it — but Tyrone Taylor struck out to end the threat.
The Mets loaded the bases with nobody out in the fourth against Robbie Ray but didn’t score: Vientos struck out before Alvarez grounded into an inning-ending double play.
Alonso singled leading off the inning and Starling Marte doubled him to third before Brett Baty’s infield roller to first base (which easily could have been ruled an error) turned into a single, with Alonso holding.
Peterson allowed consecutive singles to Willy Adames and Matt Chapman to begin the bottom of the frame and a one-out walk to Casey Schmitt loaded the bases. Jung Hoo Lee’s ensuing RBI fielder’s choice gave the Giants a 1-0 lead.
Two innings earlier Peterson got Matos to ground into an inning-ending double play after Wilmer Flores and Lee each singled in the inning.
Peterson also received an inning-ending double play in the first: Chapman hit a line drive that Vientos snagged and threw to second, catching Rafael Devers off the base. Baty scooped Vientos’ throw from the dirt to complete the play.
In the fifth, Peterson struck out three batters —including Chapman to end the inning after Heliot Ramos’ single and a walk to Adames.
Juan Soto walked leading off the sixth and stole second — the Mets’ 26th consecutive successful attempt, the longest such streak this season in MLB — and Marte walked before Vientos delivered a two-run double that gave the Mets a 2-1 lead.
Ryan Walker replaced Ray and walked Alvarez and Taylor to load the bases before striking out Nimmo on three pitches, all of which were called strikes.
Peterson caught a break in the sixth when the slow-footed Flores was thrown out to begin the inning trying to stretch a single into a double after hitting a shot off Baty’s glove. Nimmo fielded the ball in foul territory and threw a strike to Luisangel Acuña to nail Flores.