Niese (5-7) threw an efficient 87 pitches — 68 strikes — in eight-plus innings, nearly matching Vogelsong in the second-fastest game in the major leagues this year at 2 hours, 6 minutes. Brandon Crawford had a run-scoring single, Matt Duffy an RBI single for his first big league hit and Hunter Pence added a two-run triple and RBI groundout off Niese for San Francisco, which won its second straight after six losses in a row. Crawford followed with an RBI single and Pence drove in another with a grounder. Pence tripled to right-center after Crawford tripled down the right field line and Vogelsong was hit by a pitch in the seventh. Right-hander Matt Cain needs surgery to remove bone chips from his elbow. According to research by the Elias Sports Bureau, he is one of four rookie pitchers since 1982 to win four consecutive starts of six innings or more while allowing no more than one run. Duda became the 12th Mets first baseman to reach 20 homers in a season. The Giants promoted Duffy and outfielder Jarrett Parker from Double-A Richmond to take the roster spots of Dan Uggla and Tyler Colvin, who were designated for assignment.