In New York, Darrell Evans drove in three runs with a double and his 27th home run of the season to lead San Francisco to victory.
Evans doubled in a run in the first inning off starter and loser Craig Swan (2-8) and hit a two-run homer off reliever Carlos Diaz in the seventh. It was the first homer off Diaz in 65 innings this season.
Evans said he is trying to win the NL home run title. "This is the first chance I've had since 1973," said Evans, who had 41 that season with Atlanta. "It's tougher this time. Candlestick Park is a lot tougher for a home run hitter than Atlanta was. The ball jumped out of the park in Atlanta."
In the second, the Giants took a 3-0 lead on starter Andy McGaffigan's two-run double. Joel Youngblood and Bob Brenly had singled ahead of McGaffigan. Swan was then replaced by Tom Gorman.
McGaffigan was a substitute for Bill Laskey, who strained a muscle in his rib cage while warming up. Jim Barr (4-3) relieved McGaffigan when the Mets loaded the bases in the second inning.
McGaffigan walked Ron Hodges, balked him to second, gave up a single to Brian Giles and issued a one-out walk to Jose Oquendo to load the bases before Barr relieved. Barr allowed one run to score on pinch-hitter Rusty Staub's infield out.