Carlos Beltran hit two homers to give him 300 for his career and Tim Lincecum ended a three-start winless stretch as the San Francisco Giants beat the San Diego Padres 3-1 on Wednesday to complete a rare sweep in this rivalry.