Ian Kennedy outdueled Tim Lincecum for his 18th victory, Paul Goldschmidt homered and singled in a run and the NL West-leading Arizona Diamondbacks beat the San Francisco Giants 7-2 on Saturday night.