SAN FRANCISCO -- Carlos Delgado splashed a Barry Bonds-like home run into McCovey Cove beyond the right-field fence, then did a little more later.
Delgado hit a solo homer into the water and doubled in the tying run in the eighth, and David Wright had a go-ahead, two-run double in the ninth to lead the New York Mets past the San Francisco Giants 5-3 on Wednesday.
"I think the last four or five games I felt much better at the plate, better rhythm at the plate," Delgado said. "I'm seeing the ball better and I think I eliminate some of the body movement and I feel slower at the plate, which is a good thing. My feet are slower so my bat is coming through the zone a little quicker."
New York rallied to win its second straight series, loading the bases in the ninth against former Mets closer Armando Benitez (0-1), who has converted all seven of his save opportunities but needed work even in a non-save situation.
Jose Reyes got aboard when right fielder Todd Linden and second baseman Ray Durham both went for a shallow fly and the ball dropped in for a hit. That loaded the bases for Wright, who lined a double down the left-field line.
"I got a fastball and fortunately it was up and I could elevate it," Wright said. "That's his best pitch. You know he's going to challenge you."
Bonds went 0-for-2 and drew two walks to give him 33 -- including his 12th intentional free pass -- and played for the third straight game a day after hitting his 745th career home run. He needs 10 homers to match Hank Aaron's record of 755.
Dave Roberts hit a rare home run in a rare circumstance for the Giants, who concluded their season-long 10-game homestand at 5-5.
San Francisco's speedy leadoff man hit a two-run homer in the fifth despite playing with an inflamed elbow that probably will need surgery in the coming days to remove bone chips and spurs. It was his second home run, and strangely enough his other longball came April 24 on the first day the elbow began bothering him.
Linden took the blame for the mistake on Reyes' ball, which manager Bruce Bochy said "hurt us."
"He wasn't calling me off," Linden said of Durham. "It carried out there a little further than I expected. I needed to continue on and make that play."
Delgado's double saved John Maine from his first defeat of the year, keeping his 5-0 record intact. Ruben Gotay also homered for the Mets, Aaron Heilman (3-2) recorded two outs for the win and Billy Wagner saved his second straight game and eighth overall.
Reyes extended his hitting streak to 14 games with a leadoff single in the first and 48-year-old Julio Franco had a pinch-hit infield single in the seventh for his fourth hit of the season.
"I have feelings about my players sometimes, and they are always ready," Mets manager Willie Randolph said. "We wanted to go home on a positive note."
Franco's hit put runners on first and second with two outs and Matt Morris then got Reyes to fly out to center.
Delgado's second homer of the season was the 14th splash hit by an opponent in the Giants' waterfront ballpark, where San Francisco players have done it 42 times -- 33 by Bonds, including one of his 11 this year.
Delgado did it for the third time, the most by any opponent. Luis Gonzalez has two, the only other player to hit more than one into the water in the air.
"I had no idea," he said. "You're great sources of useless information. I've only been here a couple of times. I hit one last year. I remember that, but before that I don't remember. I don't care. It doesn't matter."
Gotay homered leading off the third to break a scoreless tie, the first for Gotay since June 20, 2005, at the Chicago White Sox while with Kansas City and just the seventh of his career. He was called up from Triple-A New Orleans on April 30.
Maine struck out the side in the third and finished with four Ks in six innings, but matched his season high with six walks. He allowed three runs and five hits.
Morris gave up two runs and seven hits, struck out four and walked one in seven innings. He struck out the side in the fifth.
Morris has made six of his seven starts after San Francisco losses, and the team had gone 4-1 in those games in which he started before losing this one.
"He had good stuff today," Bochy said. "We let that one slip away."
Roberts returned to the lineup after missing three games with the elbow injury on his throwing arm. Roberts wanted to test the elbow one more time before a final decision, which will come Thursday after he is examined by Angels orthopedist Dr. Lewis Yocum in Los Angeles.
- Giants RF Randy Winn sat out nursing a sore back.
- The Giants outrighted 1B Lance Niekro to Triple-A Fresno, five days after designating him for assignment.
- The Mets finalized a one-year minor league contract with right-hander Brian Lawrence. He will report to the team's extended spring training in Port St. Lucie, Fla.
- The Giants sold out for the fifth time in 2007, drawing 41,832.