PHOENIX — Austin Slater hit a two-run homer in the eighth inning, Mike Yastrzemski also had a two-run shot and the San Francisco Giants rallied to beat the struggling Arizona Diamondbacks 6-5 on Saturday night.
The Giants hit three homers to end a season-long four-game losing streak in an 11-4 win Friday and again took the Diamondbacks down with the long ball.
Arizona went up 5-4 on David Peralta’s bloop single in the fifth inning, but Slater fouled off a couple of good pitches from Ryan Buchter (0-2) before hitting a 463-foot homer to center.
San Francisco has scored 214 of its 405 runs (52.8%) of its runs this season on homers.
Dominic Leone (2-0) struck out two in the seventh inning and Jake McGee worked a perfect ninth for his 16th save in 18 chances, improving the Giants to a majors-best 52-30. San Francisco overcame a season-high three errors.
Nick Ahmed hit a two-run homer for last-place Arizona, which has lost six of seven.
Diamondbacks starter Jake Faria allowed a run in four innings against St. Louis on June 28 in his first big league start since 2018. The right-hander escaped a jam in the first inning against the Giants, but couldn’t wriggle out of trouble in the third.
San Francisco wore red caps as part of Major League Baseball’s Fourth of July promotion, a glaring change from their usual black.
Yastrzemski hit his 12th homer, a two-run shot, followed by Brandon Crawford’s run-scoring triple and Donovan Solano’s RBI single.
Giants starter Sammy Long couldn’t hold the lead.
Asdrubal Cabrera and Christian Walker each had run-scoring singles in the third inning, and Ahmed tied it at 4 with a two-run homer just over the wall in right in the fourth.
Giants: 3B Evan Longoria played catch before the game as he works his way back from a left shoulder sprain. He could be back by late July. … RHP Logan Webb (right shoulder strain) is scheduled to throw at Triple-A Sacramento on Tuesday. … INF Tommy La Stella (left hamstring strain) could go on rehab assignment during the All-Star break.
Diamondbacks: RHP Zac Gallen was placed on the 10-day injured list after leaving Friday’s game in the third inning with strained right hamstring. Arizona selected the contract of C Bryan Holaday from Triple-A Reno to take his roster spot.
San Francisco RHP Anthony Scalafini (8-3, 2.91 ERA) will face Arizona LHP Caleb Smith (2-4, 3.08) in the series finale Sunday.