NEW YORK - Mike Piazza set a major-league record for home runs as a catcher Wednesday night and Shane Spencer hit a tiebreaking, three-run shot in the eighth inning of the Mets' 8-2 victory over the San Francisco Giants.
Barry Bonds was not in San Francisco's starting lineup for the third straight game because of a sinus infection, disappointing many of the 19,974 fans who showed up at Shea Stadium on a rainy night.
But Piazza made it worth their while, breaking Carlton Fisk's mark with his 352nd homer as a catcher. He drove a 3-and-1 pitch from Jerome Williams off the bottom of the scoreboard in right-center in the first inning for a 1-0 lead.
The 10-time All-Star got a warm greeting in the dugout from his teammates and bounced out for a curtain call.
Mike Cameron also connected for the Mets, who won their third straight for the first time this season.
The game was delayed by rain for 1 hour, 19 minutes after the fifth inning, and about 1,000 fans were left to see Spencer give the Mets a 5-2 lead with a two-out drive to center off Matt Herges.
Mike Cameron added a two-run shot, his sixth of the season, to make it 7-2, and Kaz Matsui's run-scoring single capped the six-run rally. Seven straight batters reached safely, all with two outs.
Piazza almost got the big hit in the eighth. With a runner on, he flied out to the centerfield warning track. In a rare show of emotion, he slammed his helmet down, banged the bench with his bat and punched the wall in frustration.
David Weathers pitched a scoreless eighth for the win. Four Mets relievers combined for 42/3 hitless innings after starter Jae Seo left with a cracked nail on his right index finger.
Felix Rodriguez gave up a single to Todd Zeile in the eighth and took the loss.
Jeffrey Hammonds, Bonds' replacement, doubled leading off the second and scored on Edgardo Alfonzo's single.
Cameron walked and scored on a throwing error by Williams in the bottom half. The Giants tied it at 2 in the fifth when Neifi Perez led off with a double and scored on Brian Dallimore's sacrifice fly.
Williams made a wild pickoff throw to third in the fourth, but Cameron was thrown out trying to score. Williams departed after the rain delay. He allowed two runs, one earned, and four hits.