Jonathon Niese scattered three hits over seven innings and Ruben Tejada homered for the first time in almost two years and singled twice, leading the New York Mets past the San Francisco Giants 2-1 on Wednesday night.
All San Francisco could squeeze out of Niese (8-5) was a two-out homer by Buster Posey in the sixth, the All-Star catcher's 14th long ball this season. Niese struck out five and walked two to outlast ace Matt Cain (10-4) and spoil Hunter Pence's debut in San Francisco.
The new Giants right fielder finished 0 for 4 with two strikeouts.
Cain gave up seven hits and three walks and never looked in rhythm. He struck out five in five innings to match his shortest start of the season.
Bobby Parnell pitched a perfect ninth for his fourth save and New York's third win in the last four games. The NL West-leading Giants have lost five of six.
Any momentum San Francisco had from trading for Pence faded fast.
Tejada, whose two-run throwing error at shortstop led to New York's 4-1 loss against the Giants on Monday night, sent the second pitch of the game from Cain into the glove of a fan standing just beyond the wall in left for his second career home run. Tejada had gone 629 at-bats since his last long ball in September 2010.
After three straight singles loaded the bases, Josh Thole scored on Jordany Valdespin's groundout to third base to give the Mets a 2-0 lead in the second. Cain struck out David Wright, who had three hits, to limit the damage.
The 138th consecutive sellout crowd at AT&T Park — announced at 42,188 — gave Pence a long and loud standing ovation when his name was announced with two on and two outs in the bottom of the first. All the hoopla halted when he fouled out near first base.
Pence, traded from Philadelphia for outfielder Nate Schierholtz and two minor leaguers Tuesday, also struck out but reached first on a wild pitch in the fourth. He grounded out to short to end the sixth and struck out looking for the second out of the ninth.
The only thing that kept San Francisco close was its defense.
Posey threw out Ike Davis going for second after Mike Baxter struck out to end the third, and the catcher tossed a perfect ball to second to catch Daniel Murphy stealing for the final out of the fifth.
Gregor Blanco also made a diving catch in the web of his glove in left-center on a slicing fly by Valdespin to end the fourth. Cain pumped his fist and several Giants waited to high-five Blanco outside the dugout after a play eerily reminiscent — and perhaps equally spectacular, minus the stakes — to the center fielder's catch that highlighted Cain's perfect game against Houston on June 13.
Leave it to a lesser-known lefty to outlast San Francisco's ace.
The only mistake Niese made all night was crushed by Posey off the roof of the emergency ambulance parked in the left-field tunnel to narrow New York's lead to 2-1 in the sixth.
That run proved big when the Mets loaded the bases in each of the final three innings and came up empty.
Davis grounded into a double play to end the seventh. Clay Hensley began the eighth by walking the first two batters and hitting the third before Thole's swinging bunt led to a double play, getting called out by home plate umpire Dale Scott for running in the baseline when Posey's throw back to first beaned Thole in the back, and Mets manager Terry Collins protest failed.
With the bases loaded with one out in the ninth, Penny caught Murphy's comebacker and tossed to first for an easy double play, jumping and pumping his fist after giving San Francisco a shot to rally in the ninth.
NOTES: Mets top pitching prospect Zack Wheeler was promoted to Triple-A Buffalo after going 10-6 with a 3.26 ERA in 19 starts for Double-A Binghamton. Collins said Wheeler, who was traded from the Giants to the Mets as part of the trade for OF Carlos Beltran last year, is still unlikely to pitch in the majors this season because the team wants to limit his innings. ... Giants OF Aubrey Huff (sprained right knee) was officially placed on the 15-day disabled list to make room for Pence on the roster. ... Giants backup C Hector Sanchez (sprained left knee) is expected to come off the DL when eligible Thursday.