Cain was thoroughly dissatisfied.
"I just wasn't throwing strikes and going after guys in the beginning," Cain said.
Catcher Bengie Molina searched for redeeming qualities in Cain's effort.
"He showed heart and everything he has inside, when you don't have the best night and still throw seven innings," Molina said.
Mets starter Orlando Hernandez allowed hits to the first two Giants batters but no more, and lasted seven innings. Hernandez (3-1) retired 20 of the final 21 Giants he faced, his groove interrupted only by a leadoff walk to Cain in the third inning.
"He had that slow slider working, and his fastball. He can be very uncomfortable to face," Molina said.
The Giants didn't get another hit until Fred Lewis doubled off reliever Joe Smith to open the eighth inning.
Shortstop Omar Vizquel labeled the Giants' offensive problems as chronic.
"We can't just blame everything on one guy or two," Vizquel said in reference to Benitez, who was traded for right-hander Randy Messenger. "We have to score more runs."
For the third night in a row, the Giants scored twice in the first inning. Randy Winn singled leading off, stole second base and scored on Vizquel's triple. Rich Aurilia's sacrifice fly sent home Vizquel.
The Mets pulled even in their half of the inning. Jose Reyes walked, stole second base, moved to third on Endy Chavez's groundout and scored on Carlos Beltran's infield single. Beltran bruised his right knee in a collision with Aurilia after crossing first base and left the game after scoring on David Wright's double.
In New York's second, Damion Easley doubled and Ben Johnson walked before both advanced on Hernandez's bunt. Reyes singled home Easley and was thrown out on a steal attempt, but Chavez delivered Johnson with a bunt single.