
Brandon Woodruff went six strong innings (4 H, 2 ER, 6 IP), while Blake Perkins and the offense did just enough to pick him up in a 3-2 walk-off victory.
Woodruff got into trouble to start the first inning after a leadoff double by Xavier Edwards. The next batter, Jesús Sanchez, grounded out to first baseman Andrew Vaughn — advancing Edwards to third. Woody then walked Agustin Ramirez, putting runners on first and third for Kyle Stowers, who delivered an RBI single to put the Marlins on the board
early. Woodruff was able to strand both Ramirez and Stowers, striking out Otto Lopez and inducing an inning-ending pop-up from Liam Hicks.
Marlins starter Eury Perez made short work of the top of the Brewers’ lineup, with only Jackson Chourio reaching base due to a Perez throwing error. In the top of the second, Woodruff gave up a double (to Graham Pauley) and a walk, but was able to keep the Marlins from extending their lead past one run.
Milwaukee went three-up, three-down in the bottom of the second, as did the Marlins in the top of the third. Joey Ortiz started the bottom of that frame with a strikeout, but Perez hit nine hitter Eric Haase in the head with a fastball. It was a little bit of a scary moment — as Haase was going to the ground to avoid the pitch, his helmet started to come off. Luckily, the helmet stayed on just long enough and Haase was okay.
After Haase was Brice Turang, who flew out to Marlins left fielder on a shallow fly ball. Luckily, the next hitter was the red-hot Jackson Chourio, who extended his hitting streak to twenty games with an double down the left-field line — scoring Haase to tie the game at 1 apiece.
The sixth player in franchise history to record a 20-game hit streak!@Bryanchourio11 https://t.co/HxQs2MgfAF pic.twitter.com/ZN5WFGOYzR
— Milwaukee Brewers (@Brewers) July 27, 2025
The tie wouldn’t last through the next half-inning, as Heriberto Hernandez hit a solo shot — his second in as many games — to put the Marlins back ahead. Milwaukee put a couple runners on in the bottom of the fourth thanks to a 105.1 mph EV single from Andrew Vaughn and an Isaac Collins walk. Unfortunately, Vaughn and Collins were stranded due to two pretty anemic at-bats from Caleb Durbin (three pitch strikeout) and Joey Ortiz (first-pitch pop-up).
Woodruff cruised through the top of the fifth, retiring the top of the Marlins’ order — Edwards, Sanchez, and Ramirez — in succession. Turang walked and stole second base in the bottom of the fifth, but was ultimately stranded by a William Contreras strikout.
Woodruff walked Stowers to lead off the top of the sixth, but none of the three subsequent Marlins hitters could do anything to bring him in. Stowers stole second with two outs, but Woody caught Hernandez looking to end the inning.
Christian Yelich started the bottom of the sixth by smoking a line drive off the upper leg of Marlins reliever Valente Bellozo for a single. Bellozo would stay in the game despite initially appearing to be in severe pain. Andrew Vaughn, the next hitter, smoked a line drive that was caught on the warning track by centerfielder Dane Myers.
That brought up Isaac Collins, who hit a grounder into left-center for a single. Yelich, hustling around second, slid safely into third ahead of the throw from Stowers, and all of a sudden the Brewers had momentum. It wouldn’t last long — Caleb Durbin, the next batter up, grounded into a double play for just the third time all season. It was just one of those days for the Brewers offense, who had gone 0-for-5 with RISP through six innings.
In the top of the seventh, Aaron Ashby — in the game for Woodruff — walked Dane Myers, who promptly stole second. Ashby then walked Xavier Edwards to put runners on first and second with only one out. That’s when things got exciting. Ashby threw to second in an attempt to pick Myers, but bounced the throw in the dirt on the wrong side of the bag. Turang made a crazy play to pick the ball and apply the tag — clearly in time to get the out:
Two epic tags from Brice Turang save the 7th inning from disaster to nab two Marlins.
— Dominic Cotroneo (@Dom_Cotroneo) July 27, 2025
PLATINUM on that glove for a reason. pic.twitter.com/NWQkKfajTW
Ashby then threw two pitches (both balls) to Eric Wagaman. Before his third pitch, he tried to pick Edwards off of first, but Edwards was already attempting to steal second. Vaughn’s throw from first base was somewhat off the mark as well, but Turang got the tag in there just in time for the third out.
Marlins righty Anthony Bender retired the side in the bottom of the seventh. In the top of the eighth, the Brewers made a notable defensive change. Anthony Seigler (who pinch-hit for Joey Ortiz in the seventh) stayed in the game at third base. Caleb Durbin moved over to second base, and Brice Turang slid over to shortstop. If the Brewers feel comfortable with Turang at short, that could be a game changer in terms of what they end up doing at the upcoming July 31st trade deadline.
The bottom of the eighth was chaotic, to say the least. Milwaukee’s offense started to string some hits together. Jackson Chourio led off with a ground rule double, but was thrown out trying to advance to third on a ground ball to shortstop. It initially looked as if the Brewers had squandered the inning, as the next batter — Christian Yelich — struck out swinging for the second out. However, Blake Perkins (pinch-running for Contreras) stole second just ahead of the throw from Nick Fortes, in the game for Ramirez. Andrew Vaughn made the Marlins pay just one pitch later:
KING VAUGHN. pic.twitter.com/DffZoCzh8I
— Milwaukee Brewers (@Brewers) July 27, 2025
Isaac Collins then walked, but Caleb Durbin grounded out to end it — although he would have walked, too, if it weren’t for two called strikes that weren’t really that close to the zone.
Trevor Megill came in for the ninth to try and keep the game tied, which he was able to do despite a double from Javier Sanoja. Anthony Seigler led off the bottom of the ninth with a strikeout, but that was the last out the Marlins would get. With Myers playing back to prevent an extra base hit, Eric Haase dropped a broken-bat single into shallow center. Brice Turang then doubled down the left-field line, putting runners on second and third for Jackson Chourio.
Marlins manager Clayton McCullough didn’t even want to risk it. He walked Chourio to face Blake Perkins, still in the game after pinch running for Contreras in the eighth. Miami brought the outfield in to prevent the runner at third from tagging on a routine fly ball, but Perkins hit a high line drive far over Myers’ head in centerfield.
Blake Perkins comes up CLUTCH and wins it for the @Brewers #Walkoff pic.twitter.com/Bar7hEZfqB
— MLB (@MLB) July 27, 2025
The walk-off single was Perkins’ second career-walk off. He was an integral part of today’s victory, both scoring the tying run and knocking in the winning run.
Although the offense looked rough with RISP for most of the game, Milwaukee was able to turn it on late and avoid the sweep. Every Brewer starter other than Contreras, Ortiz, and Durbin had a hit today, and Vaughn and Chourio both went 2-for-4 with an RBI.
Milwaukee will be back at it tomorrow against the division rival Chicago Cubs. Matthew Boyd will start for the Cubs, with his replacement in the All-Star Game — Jacob Misiorowski — on the mound for the Crew. First pitch is scheduled for 6:40 p.m.
More from brewcrewball.com:
- Milwaukee Brewers acquire Yeison Coca as PTBNL in Tyler Thornburg trade
- The Milwaukee Brewers shouldn’t have to worry about the Super Two cutoff anymore
- Brewers place Travis Shaw on paternity list, call up OF Brett Phillips
- Milwaukee Brewers Daily Prospect Report: Sunday, June 4
- Zach Davies turns in strong start as Milwaukee Brewers avoid sweep, beat Dodgers 3-0
- Series Preview: San Francisco Giants @ Milwaukee Brewers
- Quick scouting report on Milwaukee Brewers call-up Brett Phillips