SAN FRANCISCO (AP) Brandon Crawford has worked diligently to improve his offensive numbers against left-handers, and it's showing.
Buster Posey and Crawford homered, Tim Hudson pitched into the ninth and the San Francisco Giants beat the Los Angeles Angels 5-4 Saturday.
Nori Aoki had two RBIs and Casey McGehee had three hits and drove in a run for the Giants, who won their fourth straight at home and eighth of 12 overall.
''I wish I knew what it was; I'd try it against right-handers,'' Crawford said. ''It's a lot of work against left-handers in batting practice and focusing on staying up the middle.''
Crawford hit .214 against lefties through his first three years. He's hitting .322 against them since the beginning of last year.
''He hangs in there against lefties,'' Giants manager Bruce Bochy said. ''He's been able to throw quality at bats against them.''
Albert Pujols and Mike Trout homered in the same game for the 20th time with the Angels, who have lost four of six.
''It's my job to be out there as much as possible but you don't want to do something stupid,'' said Pujols, who missed the previous two games with a hamstring injury. ''I felt like I was ready to play today and I hope tomorrow is better.''
Hudson (1-2) retired the first 10 batters he faced and gave up three runs, two hits and two walks in eight-plus innings. He struck out three.
''It was impressive,'' Bochy said. ''He was hitting his spots, getting great movement, a lot of ground balls and quick outs. It's amazing at his age he's out there pitching in the ninth.''
Hudson walked Kole Calhoun in the fourth, and Calhoun was then caught stealing. Hudson also walked the last batter he faced, pinch-hitter Colin Cowgill to open the ninth.
''I was making pitches when I needed,'' Hudson said. ''They came out swinging and I was able to get strike one. It got more exciting at the end then we'd like but we'll take it.''
Sergio Romo got two outs, including a strikeout of Pujols with two runners on. Jeremy Affeldt gave up an RBI single to Calhoun, and Santiago Casilla allowed an RBI single to David Freese.
Casilla then got the last out for his seventh save when Matt Joyce's single hit pinch-runner Taylor Featherston between first and second.
Hector Santiago (2-2) allowed four runs on nine hits in his five innings of work.
''Hector was erratic and missed some spots,'' LA manager Mike Scioscia said. ''He spotted those guys some runs and we couldn't get right back in it.''
Crawford's homer was just the second Santiago has allowed to a left-hander since joining the Angels, a span of 188 at bats. Texas' Shin-Soo Choo connected against Santiago exactly a year ago.
Angels: Pujols (left hamstring tightness) passed his Friday audition and was in the starting lineup.
Giants: RHP Jake Peavy (lower back strain) threw about 25 fastballs in a bullpen session before the game and reported progress. He'll throw another bullpen session on Tuesday and could start a rehab assignment after that. OF Hunter Pence (broken bone in left hand) took fly balls and was given the OK to take batting practice on the field Sunday.
Angels: RHP Jered Weaver (0-3, 5.83) starts Sunday's series finale. He is winless in his first five starts for the first time in his career. Weaver is 16-4 with a 2.55 ERA in 29 career interleague games.
Giants: RHP Tim Lincecum (1-2, 3.27) starts against the Angels for the second time in his career, and the first in six years. He's had pretty good success against Pujols, who has yet to homer or drive in a run against him in 18 career at bats. C Chris Iannetta, who played for the Colorado Rockies, is a .400 hitter (6 for 15) with a home run and eight walks against Lincecum.