Giants Shut Down Brewers Behind Mahle’s Gem, McCray’s Blast

San Francisco’s pitching staff delivered a masterclass on Monday night, systematically dismantling the Milwaukee Brewers in a 3-0 shutout that felt far more dominant than the final score suggests. The Giants didn’t just win this game, they suffocated it, holding the Brewers to three measly hits across nine innings while Brandon Sproat labored helplessly on the mound for Milwaukee.

Pitching Decisions

6.0IP3H0ER2BB3K
6.0IP6H3ER3BB5K
1.0IP0H0ER0BB2K

Star Performers

Andrew Vaughn

Season AVG: .310
2AB1H0HR0RBI0R1BB
Grant McCray

Season AVG: .125
3AB1H1HR2RBI1R0BB

Mahle Muzzles Milwaukee

Tyler Mahle's six scoreless innings

Tyler Mahle was the story here, and frankly, he was everything a team could ask for in a crucial July contest. The right-hander cruised through six scoreless innings, surrendering just three hits while walking two and striking out three. More importantly, Mahle never looked flustered, never looked like the Brewers were close to cracking through. That’s the kind of composed, professional pitching that wins playoff games in October, and the Giants got it on a Monday in July when it mattered.

Sproat tried to match him early, striking out five hitters through six innings, but the Milwaukee right-hander’s three walks proved costly. In baseball, you can’t afford free passes against a team that executes like San Francisco did on Monday.

McCray, Mahle lead Giants in shutout win

McCray Delivers the Dagger

Grant McCray's two-run home run (1)

Grant McCray broke the scoreless tie in the fourth inning with a two-run home run that traveled into the left-center gap like a missile, scoring Willy Adames and putting the Giants up 2-0. It was McCray’s first home run of 2026, and what a time to uncork it. The kid showed discipline and power when it mattered, turning a decent pitch into a highlight-reel moment that essentially decided the outcome of this game right then and there.

Luis Arraez contributed the game’s opening run in the third inning with a single to right, scoring Jesus Rodriguez, but it was McCray’s blast that gave San Francisco the cushion they needed. One home run shouldn’t be the difference in a game like this, but when your pitcher is dealing the way Mahle was, one run is often enough.

Condensed Game: MIL@SF – 7/27/26

Giants’ Bullpen Seals It

Erik Miller earns the save

Erik Miller came in for the save situation in the ninth, retiring the Brewers in order without allowing a hit while striking out two. Clean, efficient, professional. That’s the blueprint for winning baseball in 2026, and the Giants executed it to perfection Monday night.

The Brewers never threatened seriously, never mounted anything resembling a genuine rally. Milwaukee came to San Francisco hoping to chip away at the Giants’ lead in what looked like a winnable game, but instead they left Oracle Park shut out and shut down. Sometimes pitching is enough. Sometimes excellent pitching beats good hitting, and that’s precisely what happened here.

This was a statement win for San Francisco, the kind of game that separates contenders from pretenders in late July. The Giants didn’t rely on offense fireworks, didn’t need to outscore anybody. They simply pitched better and executed fundamentals. In baseball, that formula wins ballgames, particularly important ones on Monday nights in July.

Box Score

Milwaukee Brewers Batting

Player AB R H RBI BB SO AVG
Christian Yelich DH 4 0 0 0 0 2 .239
Jackson Chourio LF 4 0 1 0 0 1 .277
Brice Turang 2B 3 0 0 0 0 2 .265
William Contreras C 3 0 0 0 0 1 .271
Jake Bauers RF 2 0 1 0 0 0 .265
Luis Lara RF 1 0 0 0 0 0 .294
Andrew Vaughn 1B 2 0 1 0 1 0 .310
Garrett Mitchell CF 3 0 0 0 0 1 .269
Cooper Pratt SS 2 0 0 0 1 0 .284
Joey Ortiz 3B 3 0 0 0 0 0 .237

Milwaukee Brewers Pitching

Pitcher IP H R ER BB SO ERA
Brandon Sproat (L) 6.0 6 3 3 3 5 5.05
Garrett Stallings 2.0 0 0 0 1 1 0.00

San Francisco Giants Batting

Player AB R H RBI BB SO AVG
Luis Arraez 2B 4 0 1 1 0 1 .326
Heliot Ramos LF 4 0 0 0 0 1 .258
Bryce Eldridge DH 3 0 0 0 1 1 .256
Rafael Devers 1B 3 0 0 0 1 0 .246
Casey Schmitt 3B 1 0 1 0 0 0 .271
Christian Koss 3B 2 0 0 0 1 1 .130
Drew Gilbert CF 3 0 1 0 0 0 .234
Willy Adames SS 2 1 1 0 1 0 .226
Grant McCray RF 3 1 1 2 0 0 .125
Jesus Rodriguez C 3 1 1 0 0 2 .240
Daniel Susac C 0 0 0 0 0 0 .248

San Francisco Giants Pitching

Pitcher IP H R ER BB SO ERA
Tyler Mahle (W) 6.0 3 0 0 2 3 4.96
Sam Hentges 1.0 0 0 0 0 1 2.53
Dylan Smith 1.0 0 0 0 0 1 2.65
Erik Miller (SV) 1.0 0 0 0 0 2 2.87