Landen Roupp struck out a career-high nine over seven innings, Matt Chapman hit a two-run home run and the San Francisco Giants held on for a 3-2 victory over the Angels on Saturday night.
Roupp gave up two runs and five hits and walked one in his 96-pitch effort. Tyler Rogers retired the side in order in the eighth, and Ryan Walker got Nolan Schanuel to fly out to left field with a runner on second in the ninth for his fifth save.
Roupp (2-1) relied heavily on a 77-mph curveball to induce 12 of his 18 swinging strikes, giving him a major league-high 42 swinging strikes with his breaking ball this season.
The right-hander made only two mistakes, which Mike Trout turned into a pair of home runs.
Trout’s franchise-record 28th multihomer game gave him eight homers this season, tied for second in baseball behind the Athletics’ Tyler Soderstrom with nine.
Trout sent a drive to the wall in left-center in the ninth where Heliot Ramos made a leaping catch to deny what would have been Trout’s third homer of the game.
Angels starter Kyle Hendricks (0-2) gave up three runs and four hits in five innings, striking out one and walking two.
Chapman drove a changeup 384 feet over the left-field wall in the first inning for his fourth homer of the season and a 2-0 Giants lead. Mike Yastrzemski doubled to right-center with one out in the third and scored on Willy Adames’ RBI single to make it 3-0.
The Angels have struck out 89 times and walked only eight times in 71 innings during their past eight games.