SAN FRANCISCO -- Tim Lincecum labored through six innings to win for the second time in his past eight starts and Pablo Sandoval had two hits to extend his hitting streak to 20 games as the San Francisco Giants beat the New York Mets 3-1 Saturday night.