Schmitt’s Three-Run Blast Lifts Giants Past Rockies

The San Francisco Giants showed their resilience on Saturday afternoon at Oracle Park, grinding out a 4-2 victory over the Colorado Rockies in a game that featured two strong starting pitching performances but ultimately came down to one swing of the bat.

Pitching Decisions

7.0IP5H1ER3BB4K
6.0IP6H4ER0BB9K
2.0IP1H1ER0BB2K

Star Performers

Kyle Karros

Season AVG: .266
4AB1H1HR1RBI1R0BB
Casey Schmitt

Season AVG: .280
4AB1H1HR3RBI1R0BB

Let’s not bury the lede here: Casey Schmitt won this game with one swing in the sixth inning. His three-run homer to left-center field off Kyle Freeland was the difference-maker, the kind of clutch hit that wins ballgames in July. That blast transformed what had been a tight, low-scoring affair into a comfortable cushion for the Giants’ bullpen to protect.

Casey Schmitt's three-run homer (19)

Freeland Pitches Well but Runs Into Trouble Late

Kyle Freeland deserves credit for keeping the Rockies in this game through six innings. The left-hander struck out nine batters and allowed just six hits while walking nobody, showcasing the stuff that makes him one of Colorado’s most reliable arms. The problem for Denver is that those six hits included the kind of damage that costs ballgames. Jesus Rodriguez’s RBI double in the fifth got the Giants on the board with one run, but that sixth-inning homer was the backbreaker.

Jesus Rodriguez's RBI double

Tyler Mahle pitched a solid game for San Francisco, allowing just one earned run across seven innings while striking out four. He wasn’t dominant, but he was efficient, which is all you can ask from your starter in the middle of July. The three walks suggest he wasn’t at his sharpest, yet he still managed to keep the Rockies’ bats largely quiet until it was too late.

Tyler Mahle fans four across seven innnings

Late Inning Heroics and Bullpen Execution

The Giants’ bullpen got the job done when it mattered most. JT Brubaker earned his first career save by pitching two clean innings, striking out two while allowing just one hit. That’s the kind of performance you need down the stretch, and Brubaker came through when called upon. Sure, Kyle Karros hit a solo shot off him in the eighth to make it 4-2, but that was just garbage time at that point.

JT Brubaker earns his first career save

Karros’ homer was a reminder that even in losing efforts, individual players can still have their moments. His solo blast in the eighth gave the Rockies at least the appearance of a threat, but by then the ship had sailed. Sometimes that’s the cruel mathematics of baseball: one player goes yard and it means nothing because another player went yard at a more opportune moment.

Kyle Karros' solo home run (9)

Here’s the bottom line: the Giants got better pitching, better timing, and better results. That’s how you win ballgames. The Rockies will point to Freeland’s excellent strikeout rate and blame bad luck, but that’s a losing argument when you’re getting out-hit 6-5 and out-scored 4-2. The Giants came to play on Saturday afternoon at Oracle Park, and they left with a victory. That’s baseball.

Box Score

Colorado Rockies Batting

Player AB R H RBI BB SO AVG
Jake McCarthy CF 4 0 1 0 0 1 .301
Mickey Moniak LF 4 0 2 0 0 2 .283
Hunter Goodman DH 4 0 1 0 0 1 .251
TJ Rumfield 1B 3 0 0 0 1 0 .298
Kyle Karros 3B 4 1 1 1 0 0 .266
Troy Johnston RF 3 0 0 0 1 0 .304
Edouard Julien 2B 4 0 0 0 0 1 .222
Ezequiel Tovar SS 2 0 0 0 1 0 .202
Cole Carrigg PH 1 0 0 0 0 1 .281
Brett Sullivan C 3 1 1 0 0 0 .221
Willi Castro PH 1 0 0 0 0 0 .260

Colorado Rockies Pitching

Pitcher IP H R ER BB SO ERA
Kyle Freeland (L) 6.0 6 4 4 0 9 7.36
Zach Agnos 2.0 1 0 0 1 0 6.48

San Francisco Giants Batting

Player AB R H RBI BB SO AVG
Heliot Ramos LF 4 1 1 0 0 0 .271
Luis Arraez 2B 4 1 2 0 0 1 .332
Casey Schmitt 3B 4 1 1 3 0 1 .280
Rafael Devers 1B 3 0 0 0 1 2 .251
Willy Adames SS 4 0 0 0 0 1 .224
Bryce Eldridge DH 3 1 1 0 0 2 .270
Jung Hoo Lee RF 3 0 0 0 0 1 .306
Jesus Rodriguez C 3 0 1 1 0 0 .238
Drew Gilbert CF 3 0 1 0 0 1 .237

San Francisco Giants Pitching

Pitcher IP H R ER BB SO ERA
Tyler Mahle (W) 7.0 5 1 1 3 4 5.31
JT Brubaker (SV) 2.0 1 1 1 0 2 2.87