SAN FRANCISCO (AP) -- Barry Zito struck out 10 in eight dominant innings of two-hit ball and the San Francisco Giants beat New York 1-0 Friday night, shutting out the slumping Mets for the second consecutive game.
All-Star closer Brian Wilson completed the three-hitter for San Francisco, which has won four straight and nine of 11. Aubrey Huff had three hits and scored the only run on a fielder's choice grounder.
Zito (8-4) matched his season high for strikeouts and allowed only one runner past first base while winning for the first time in more than a month. The left-hander faced just three batters more than the minimum before Wilson earned his 24th save.
Despite the return of cleanup batter Carlos Beltran, the Mets haven't scored in two games since the All-Star break. Both times, they faced a Cy Young Award winner.
David Wright singled with two outs in the ninth before Wilson struck out Beltran on a 97 mph fastball.
Jonathon Niese was the hard-luck loser for New York, shut out for the third time in the last four games. The Mets have scored nine runs in their last seven, going 2-5 during that stretch.
Zito hadn't made it out of the sixth inning in his previous four starts but was in control while keeping New York's offense quiet. His performance, coming on the heels of Tim Lincecum's six-hit gem Thursday night, ended a streak of three straight no-decisions for the Giants' lefty and gave him his first win since Zito beat his former team, Oakland, on June 12.
Mets manager Jerry Manuel tried shaking up his lineup, moving left fielder Jason Bay to second in the batting order, but it didn't matter against Zito.
He faced the minimum through 6 2-3 innings, allowing only Ruben Tejada's leadoff single in the fourth. Tejada was thrown out by rookie catcher Buster Posey trying to steal second.
Zito struck out every Mets batter except Beltran and Jeff Francoeur, and had at least one strikeout in each of the first seven innings.
Beltran's two-out double in the seventh was the only other hit Zito allowed.
The Giants didn't give him much support offensively, scoring their lone run when Huff walked, went to third on Posey's double and scored on Pat Burrell's grounder. Huff beat the throw home from Mets second baseman Alex Cora.
It was the perfect start to the second half of the season for the Giants, who began the day trailing first-place San Diego by 3½ games in the NL West.
Niese, the Mets' rookie left-hander, took the loss after pitching in and out of trouble all game. Niese (6-4) got plenty of help from New York's defense, which turned three double plays in the first five innings and four overall to keep things close.
NOTES: The Mets pushed RHP Mike Pelfrey's next start to Monday after he complained of stiffness in his neck following a flight to San Francisco earlier in the week. Hisanori Takahashi (7-3) will start Saturday in Pelfrey's place. ... All-Star shortstop Jose Reyes was kept out of the lineup again because of pain in his right side. He participated in batting practice Friday after taking 30 swings in an indoor batting cage. Manuel said the earliest Reyes will play is Sunday, against a left-hander. ... The Mets recalled INF Justin Turner from Triple-A Buffalo and optioned INF-OF Nick Evans to Double-A Binghamton.... Giants 2B Freddy Sanchez (flu) was a late scratch. ... A pregame ceremony honoring Giants announcer Jon Miller delayed the start of the game 25 minutes. Miller, winner of the Ford C. Frick Award given out to honor broadcasting excellence, threw out the ceremonial first pitch. ... Posey has matched his career-high 10-game hitting streak. ... Francoeur caught Andres Torres' fly ball in the fifth and then doubled up Zito, who had strayed off first. It was the ninth assist this season for Francouer, who went into the game leading the major league outfielders in that category.