Reporting from ORACLE PARK
The San Francisco Giants are still waiting for their first sweep of 2026. After beating the Los Angeles Angels in the first two games of the series, the Giants (44-61) fell 4-3 on a bright Sunday afternoon at Oracle Park, their rally ending with the tying run stranded at second.
Manager Tony Vitello did not see a team that got outplayed:
“Today preparation was there and obviously we fought up until the very last pitch … overall, it’s hard to say it was a bad day.”
Carson Whisenhunt started for the Giants, his third spot start of the season. San Francisco won both of his previous starts, and Whisenhunt earned the win each time. His last outing came against Colorado on July 9, when he allowed two runs on three hits, walking four and striking out four.
Whisenhunt (L, 2-1, 4.60 ERA) struck out Zach Neto to open the game, but Mike Trout followed with a double and took third on a wild pitch from the Giants’ young lefty. He crossed the plate two batters later when Jorge Soler beat out a potential double play, and Nolan Schanuel popped out to end the inning.
Jose Soriano made his 22nd start for the Angels (42-64). His last time out, he went seven innings against St. Louis, allowing two runs and striking out seven.
Luis Arraez started the bottom half with a single to left, but Jose Siri gunned him down at second with a perfect throw and a tag from Vaughn Grissom. Soriano faced the minimum to finish a shutdown inning.
Whisenhunt did not look bothered by the one-run deficit. He came a pitch short of an immaculate inning in the second, missing only on a ball to leadoff hitter Jo Adell before striking out the side. Through eight batters and two innings, he already had four strikeouts.
He did not stop there, striking out two more in the third. The only Angel who looked comfortable at the plate was Trout, who beat out a slow roller to Casey Schmitt at third for his second straight hit. He finished 4-for-4, his first four-hit game in five years.
The bottom of the order set the Giants up in the third with a leadoff single from catcher Drew Cavanaugh and a sacrifice bunt from right fielder Grant McCray. But they could not move him past second, as Soriano got a flyout to left, walked Heliot Ramos and struck out Bryce Eldridge.
The Angels flexed their muscles in the fourth. Soler led off and punished his former team, sending a Whisenhunt fastball 419 feet over the center-field wall for his 12th home run to make it 2-0.
Following a walk to Schanuel, Adell launched his 16th home run 446 feet, well beyond the 399-foot sign in center. For the second time in the inning, the Angels doubled their lead.
Now trailing by four, the Giants needed to counter, and again it was the bottom of the order that put them in position against Soriano (W, 9-6, 3.29 ERA). Willy Adames doubled and Cavanaugh walked to start the inning. Then, with one out, Arraez put the ball in play and a routine double play eluded Los Angeles when shortstop Zach Neto threw wide of first for his 15th error. Adames scored on the play, the only run charged to Soriano all afternoon, and none of it earned.
Whisenhunt’s day ended after five innings and a career-high seven strikeouts. He is expected to get more appearances in the near future with Trevor McDonald on the injured list with a moderate UCL sprain, and he called the opportunity a blessing:
“It’s just trying to go out there and prove I can do it and obviously prove to myself from putting in all the work so just kinda keep going with it.”
Adrian Houser took over in the sixth with an efficient 10-pitch inning that included a strikeout. The Angels went to their bullpen in the bottom half, with Samy Natera Jr. entering.
Houser was effective through three innings, allowing two hits and adding another strikeout, but more importantly keeping the Angels at four runs.
It unraveled a bit in the ninth. A walk and a throwing error on a pickoff attempt put Schanuel at third with one out, but Houser bent without breaking, getting a groundout with the infield in and a flyout to center.
Credit the Angels relievers for keeping the Giants bats quiet in the late innings. Natera, Chase Silseth and Ryan Zeferjahn worked the sixth through the eighth and allowed three baserunners between them. None advanced past first.
Sam Bachman opened the ninth and had trouble finding the strike zone, walking two and bringing the tying run to the plate. Angels manager Kurt Suzuki handed the ball to Mitch Farris, and the Giants countered with Daniel Susac pinch-hitting for McCray. Susac lined out to Trout in center on the first pitch.
Arraez followed by banging a two-run double off the right-field wall to cut the lead to one. But Ramos looked at a called third strike from home plate umpire Hunter Wendelstedt, stranding Arraez at second and handing Farris (S, 1) his first career save.
Up Next
San Francisco welcomes the Milwaukee Brewers for a three-game series starting Monday at 6:45 p.m. The Giants will not see NL Cy Young hopeful Jacob Misiorowski, who pitched Sunday. When the two sides met for four games in Milwaukee in early June, Misiorowski did not start any of them.
Notes
With Jung Hoo Lee out of the lineup Sunday, center fielder Drew Gilbert moved up to sixth in the batting order. Gilbert has reached base eight times over the last week, and Vitello credits the adjustment:
“I think his swing looks smoother. As just the whole season’s progressed he just seems to be a little calmer. I don’t think you ever wanna tame down the feistiness or competitiveness he naturally has. But I think the game does move at a different pace here.”
Thursday marks one year since the Giants acquired Gilbert in the trade that sent Tyler Rogers to the New York Mets. He has spent most of the 2026 season as the primary center fielder in San Francisco with Harrison Bader missing time to multiple injuries. … Gilbert just missed a home run in the second, with Trout catching it on the warning track in front of the Giants bullpen in center field. … Trout’s 4-for-4 was his first four-hit game in five years.
