The San Francisco Giants opened up the 2026 Cactus League with four straight victories, and they did it the old fashioned way: with pitching, defense, and small ball. After Hayden Birdsong got torched for five runs while recording just one out to open the spring, the Giants allowed just five runs over the next 35.2 innings … with only one pitcher on the 40-man roster ceding a run. They looked slick on defense. They had multiple outfield assists, and even turned a triple play. And they had more sacrifice flies in one game (three on Tuesday) than home runs in all four games combined (one, by Victor Bericoto on Monday).
Wednesday marked the end of that style of baseball, at least temporarily. The Giants pitchers traded in their donuts for traffic jams, while the batters traded in their sacrifices for big flies. And Tony Vitello traded in his undefeated record as a manager for a loss, as the Giants dropped an exceedingly Spring Trainingy game to the Milwaukee Brewers 13-12.
After falling behind 1-0 in the first inning, the Giants offense came roaring to life, behind some youngsters trying to make the team, and some veterans looking for strong 2026s. It started in the second inning, when designated hitter Luis Matos, hitting with the bases empty and no outs, took righty Carlos Rodríguez — who has a little bit of MLB experience — deep, hitting a cutter 99.7 mph over the left field wall.
It was great to see … or hear, as the case may be, since the game was once again not televised. Matos enters camp in a unique situation. San Francisco’s starting outfield is set, and Matos hasn’t displayed the defensive chops that the Giants are likely looking for from a fourth outfielder, especially given Heliot Ramos and Jung Hoo Lee’s defensive foibles a year ago. And he’s out of options, a casualty of his own success resulting in a need to protect him from the 2022 Rule 5 Draft … the same situation that led to Marco Luciano’s saddening exit from the organization a few months ago.
But he has the bat-to-ball skills that Buster Posey covets, and has shown flashes of excellence. He turned 24 less than a month ago, and you can see the Giants being hesitant to lose him, especially for nothing. So a case can be made that the Giants will be looking for a way to roster Matos come March 25, should he make a strong impression.
Wednesday was a strong impression. In his next at-bat, Matos came inches away from earning a second slow trot around the bases, instead settling for a 370-foot, 97.2-mph double that set the table for a huge fourth inning in which the Giants would bat around the order.
And hey, as long as we’re here, let’s talk about that fourth inning. We’ll go back and touch on the third in a moment. After Matos’ double, second baseman Casey Schmitt — another player seeking to prove he should be on the bench for Game 1, though with a more clear path than Matos — had his second phenomenal at-bat of the game. His first one was a fly out, but it came after forcing 11 pitches out of Rodríguez. As for his second? A blistered single that left the bat at a sizzling 109.3 mph. Fans of analytics will love the heat on that hit, though fans watching the scoreboard had to wait for some delayed gratification, since Schmitt hit the ball so hard that Matos had to hold up at third base.
It was no matter. Third baseman Christian Koss would be the copy to Schmitt’s cat, hitting a single so hard (104.4 mph) that his teammates could only advance one base each. For Schmitt, that meant stopping at second, but for Matos, that meant going as far as he could: home.
After shortstop Tyler Fitzgerald — we’re really seeing that trio move all around the dirt — lined out, the Giants new center fielder Harrison Bader stepped to the plate, with two on and two out.
Bader is in San Francisco (or, currently, Scottsdale) for his defense first, but there are reasons to be optimistic that he can be an offensive weapon for the Giants. Two reasons, primarily: he was great in 2025, when he had a 122 wRC+, and he has claimed that his success was due to some mechanical adjustments that enhanced his swing speed.
There are also reasons for pessimism: mainly that his 2025 success, statistically looking, appears quite unsustainable, and it followed three consecutive years of hitting well below league average.
His fourth-inning at-bat, then, gave a pretty strong data point that the glass is, indeed, half full. With two on and two out, and the game begging to be broken open, Bader fell behind in the count 1-2. Righty Garrett Stallings then tossed him a slider over the heart of the plate, and Bader positively crushed it for a three-run homer.
Home runs are swell, but even bad hitters achieve them, especially in the spring. There needs to be more, then, to warrant the type of optimism that I’ve been setting you up to have.
So here it is: Bader hit his big fly at 113.6 mph. Why is that a significant number? Because Bader has played nearly 1,000 Major League games, and the hardest he has ever hit a ball is … 113.6 mph. During his three-year run of hitting struggles from 2022 through 2024, his hardest-hit ball was 111.7 mph.
And if you think it’s just a case of a hot Statcast radar gun, well … maybe talk to Monica Godfrey, owner of the Cactus Bowls food truck parked behind the left field grass, which took a ball to the figurative dome. Thankfully, everyone was a good sport about it.
Matos and Bader provided the bread in the dinger sandwich, but the meat came from an exciting source: first baseman Bryce Eldridge. In the third inning, nestled tidily between the homers from the right-handed hitters, the powerful lefty put his preternatural power on display, hitting a fastball from righty Peter Strzelecki 101.3 mph the other way, clearing the left-center fence for a two-run blast.
It was the second jaw-popping and eye-dropping opposite-field hit of the spring for Eldridge, who hit a double to the wall off of All-Star closer Andrés Muñoz in the Cactus League opener. He sure is making a mighty strong case for the Opening Day roster.
That string of dingers gave the Giants an 8-1 lead, but they would give it all back in the bottom half of the fourth. After the Giants bat around the order in the top half, the Brewers followed suit in the bottom, and it was here where the biggest negative of the day occurred for the black and orange.
Lefty Carson Whisenhunt made his spring debut in the third inning, and it was gorgeous. He set down the side in order with a strikeout, and threw nine of 13 pitches for strikes. His fastball velocity, which averaged 92.6 mph in his MLB debut last season, but has been notably up this spring, was sitting at 96. Life was good.
And then came the fourth inning. In a show of confidence, Whisenhunt became just the third Giants pitcher tasked with taking the mound for consecutive innings, following Logan Webb yesterday and Adrian Houser earlier in this game. And the wheels immediately loosened, and then fell off expediently.
Whisenhunt walked the leadoff batter on five pitches, then followed it up with a four-pitch walk. The third batter of the inning took a strike to open the count, then four consecutive pitches outside the zone. With just two strikes thrown, Whisenhunt had walked the bases full.
The trouble wasn’t over there. He then fell behind Joey Ortiz 2-0, before finding the heart of the zone with a get-it-in fastball, thrown softly over the middle and hit loudly in return, for a 107.5-mph RBI single. The bases remained loaded, and Whisenhunt showed some improvement by getting ahead of the next hitter 0-2. But the 0-2 pitch was a ball, as was the 1-2, the 2-2, and finally, the 3-2. And with that, Whisenhunt’s night was over, with his second inning of work resulting in four walks, one hard-hit single, and zero outs.
Perhaps more troubling was that Whisenhunt’s velocity fell a bit in his second inning of work. Part of the danger of analyzing pitchers this time of year is that most of them display enhanced velocity when limited to one or two-inning stints, rather than pacing themselves for a full game (and that’s doubly true in the Arizona heat). Whisenhunt only needed two innings to lend that theory some fearful credence: in his first inning, Whisenhunt averaged 96.0 mph with his four-seam fastball, but in his second frame, he averaged just 94.8. That’s something to keep an eye on his next time out.
Still, Whisenhunt had only allowed two runs despite that fiasco, and his ERA had a chance to be somewhat salvaged with some help from a teammate. That teammate, unfortunately, was not able to do so.
Tristan Beck — like Matos, a player out of options who is trying to earn a spot on the team — entered the game with the unenviable task of trying to escape from a bases-loaded, no-out situation that wasn’t of his own creation. He immediately fell behind Jackson Chourio 3-0, but then the two locked into a battle. Beck threw seven consecutive pitches that Chourio fouled off and finally, on the 11th pitch of the at-bat, Beck relented and went outside the zone, walking in a run.
The next at-bat wasn’t nearly as long. Brice Turang, who had homered in the first inning off of Houser, crushed a first-pitch slider 108.2 mph and 425 feet. It was, remarkably, the second grand slam that the Giants had allowed this spring. And it gave the Brewers a game-tying seven-run fourth inning, without an out yet recorded.
Milwaukee would take the lead in the sixth inning, when uber-prospect Jesús Made tripled off of José Buttó, and scored on a sacrifice fly. They added an insurance run in the eighth off Nick Margevicius when Greg Jones drew a walk, stole a base, and scored on a Made single.
It was nine straight runs and a 10-8 lead for the Brew Crew as we headed to the ninth inning. But the Giants, now with all their subs in, had some fight in them.
Left fielder Grant McCray had a mighty impressive swing, hitting a 108-mph leadoff single in an 0-2 count, then catcher Daniel Susac did something similar: a 106.6-mph single in a 1-2 count. Vitello, knowing that spring games can’t extend to extra innings, went all in, emptying his bench for every advantage: Susac left the game so that speedy right fielder Jared Oliva could pinch-run for him.
It paid dividends. Fellow right fielder Jerar Encarnación hit a grounder to third base, where Brock Wilken couldn’t handle it. The speedy McCray scored from second, and the speedy Oliva made it to third, where he represented the tying run. And Vitello, sticking with his plan, sent out Jesús Rodríguez (who would catch the ninth inning) to pinch-run for Encarnación.
That also paid dividends, with Rodríguez immediately stealing second base. And the next batter, Bericoto, tied the game with an RBI single, which moved Rodríguez — the go-ahead run — to third. That go-ahead run would score on a single by second baseman Nate Furman, and Bericoto would make it a four-run ninth when third baseman Parks Harber hit a 367-foot sacrifice fly. Suddenly the dream of an undefeated preseason lived on, as the Giants took a 12-10 lead to the bottom of the ninth.
But Margevicius had bent in the eighth, and he would break in the ninth. He opened the inning by allowing a double, a single, and a single, and suddenly both the tying and winning runs were on base, with no outs. Freddy Zamora would tie the game with a one-out single, and Jones would walk it off with a sacrifice fly.
And just like that, the Giants fell to 4-1 in a fairly silly baseball game.
A few other notes:
- Houser made his Giants debut and pitched the first two innings. They didn’t go particularly well, as he gave up three hits — including a home run to Turang — and walked one batter, without any strikeouts. But he limited the damage to just one run allowed, and was sitting about 96 in the first inning. Like Whisenhunt, he lost about 1 mph of velo in his second inning of work.
- NRI right-handed pitcher Caleb Kilian had quite a game, throwing 12 out of 14 pitches for strikes in a perfect seventh inning that included a strikeout. Kilian, whose four-seam fastball velocity has averaged 93.6 mph for his big league career, got all the way up to 98.7 in this game, while also throwing in a 98.8-mph sinker.
- The Giants had just two stolen bases — and just two stolen base attempts — entering this game, both by Oliva. But they got three more in this contest: one each from Rodríguez, Furman, and Harber.
- Lee, likely playing in his final game before departing for the World Baseball Classic, had an awesome game. He hit 2-3, which included a triple to the wall. In all, the Giants had six extra-base hits, with the final one being a double by NRI infielder Osleivis Basabe.
- The Giants host the Rockies on Thursday at 12:05 p.m. PT. Blade Tidwell is scheduled to start, with Hayden Birdsong also pitching.