CINCINNATI, OHIO - JUNE 22: Brandon Woodruff #53 of the Milwaukee Brewers throws a pitch against the Cincinnati Reds at Great American Ball Park on June 22, 2026 in Cincinnati, Ohio. (Photo by Andy Lyons/Getty Images) | Getty Images Box Score
When Brandon Woodruff’s velocity suddenly nosedived during his last big-league start on April 30th, there was real concern. It was fair to wonder that, given Woodruff’s age and injury history, he was facing a career-ending injury.
Instead, he’s back in the big leagues less than two months later. And in a start that echoed his triumphant return to the mound after over a year off in Miami last July, Woodruff didn’t just pitch: he pitched great. The franchise legend was nearly perfect and hit double digit strikeouts in six innings his return before he handed it off to his bullpen. But the Brewer offense didn’t have any better luck against Cincinnati starter Brady Singer, and this game finished regulation with no score. But the Brewers epitomized the term “manufactured offense” in the 10th and got a save from an unlikely source on the way to an ugly yet encouraging victory.
Milwaukee’s bats didn’t look very good in the top of the first; Christian Yelich struck out, Jackson Chourio popped out, and Brice Turang struck out by swinging through a 92 mph fastball right in the middle of the strike zone.
Woodruff was throwing 89-91 in the bottom of the first, and while he started each of the first two batters with 3-0 counts, he worked back against both and ended up with a 1-2-3 inning, including a strikeout.
Singer lost the strike zone at the beginning of the second inning. William Contreras became the game’s first baserunner when he walked, Jake Bauers walked, too, and Garrett Mitchell got ahead 3-0. But Singer came back to strike out Mitchell looking, and Sal Frelick grounded out back to the mound, which left Joey Ortiz as the Brewers’ last chance in what started as a promising inning. Ortiz grounded one back up the middle and almost hit Singer in the process, but Spencer Steer had no trouble making the play and threw to first to end the inning.
Woodruff was painting corners in the second, and struck out Nathaniel Lowe and Spencer Steer looking with perfect two-strike pitches. Eugenio Suárez jumped on the first pitch and hit a fly ball to fairly deep center, but Mitchell caught it with his feet still on the grass and the inning was over.
David Hamilton battled for nine pitches to start the third and hit a line drive, but it was right to Matt McLain for the first out. Yelich followed with a groundout to second, and Chourio struck out swinging at a high fastball, and Singer was through three scoreless. Noelvi Marte started the bottom of the inning by hitting a hard line drive on the first pitch, but it was right at Hamilton for the first out. Tyler Stephenson also swung at the first pitch and hit it pretty hard, but Chourio made the catch on the warning track in left field. Woodruff got his fastball up to 93 against Matt McLain, who he struck out on three pitches. Three outs on five pitches? That’ll do.
The first hit of the game came right away in the fourth inning, and maybe shouldn’t have been a hit. Turang hit a ball directly at first baseman Sal Stewart at about 94 mph. A great first baseman probably would’ve made the play, but Turang’s ball got past Stewart and into the right-field corner for a double. But just like the second inning, the Brewers squandered a good opportunity. Contreras flew out harmlessly to right on the first pitch, Bauers hit a pop-up, and Mitchell flew out to center. Turang never got past second base.
Woodruff picked up two more strikeouts in another 1-2-3 inning in the bottom of the fourth. After Blake Dunn lined out to Turang at second base, JJ Bleday and Stewart became Woodruff’s fifth and sixth strikeout victims, and the Brewer hurler was perfect through four. But the Brewers were having nearly as much trouble with Singer as the Reds were with Woodruff, and that continued in the top of the fifth: Frelick, Ortiz, and Hamilton went down in order.
Woodruff’s dream return to the mound continued in the bottom of the fifth. Lowe popped out, Steer struck out swinging, and after a bit of a battle, Suárez struck out looking. Five perfect innings with eight strikeouts.
The Brewers continued to struggle in the sixth. Yelich hit a weak grounder to first base, Chourio struck out swinging at a sweeper way outside the zone. Turang at least made good contact on a fly ball to deep center, but it held up just enough for Dunn to catch it against the wall for the third out.
Woodruff kept the perfect game going for one more batter when he came back from a 3-0 count to strike Marte out with a 3-2 fastball above the zone. Stephenson was next, though, and he jumped at the first pitch and lined a single into center for the Reds’ first hit. Woodruff’s velocity continued to improve as the game went on: he hit 95 for the first time (technically 94.9) on his 72nd pitch of the game, during an at-bat in which McLain struck out swinging at a change-up. That was Woodruff’s 10th strikeout, and Dunn flew out to right to end Woodruff’s sixth scoreless inning.
Woodruff had only thrown 79 pitches, fewer than he’d thrown in his last rehab start, but given that he’s still working his way back, the Brewers chose to end his night there. The final numbers were staggering: Woodruff allowed one single and no walks in six scoreless innings with 10 strikeouts. What a way to make his return.
Lethal stuff from Brandon Woodruff tonight https://t.co/nGBf52DyC8pic.twitter.com/Ig9Nom0YMu
— Milwaukee Brewers (@Brewers) June 23, 2026Contreras started the seventh with the Brewers’ hardest-hit ball of the day, but he hit it right at Bleday in left field for the first out. After Bauers struck out looking, Mitchell gave the Brewers a two-out baserunner with an infield single, but Frelick flew out to right to end the inning. That was also the end of Singer’s night, as he’d crossed 100 pitches during Mitchell’s at-bat; after struggling all season, Singer had thrown seven shutout innings with just two hits and two walks allowed while striking out seven.
Aaron Ashby relieved Woodruff, and needed a good outing after a rough week. He started with strikeouts of Bleday and Stewart, and then faced a pinch-hitter when Dane Myers came in for Lowe. Myers looped a lazy line drive toward center field, but Turang was able to make a leaping catch to end the inning.
Lefty Sam Moll relieved Singer in the eighth. Ortiz struck out looking at a strike three that had to be overturned on a Reds challenge. Hamilton was removed from the game for pinch-hitter Andrew Vaughn, who got a chance against a lefty; he hit a hard grounder to short that McLain didn’t initially field cleanly, but with Vaughn running, McLain was able to recover and throw him out at first. That brought up Yelich, whose bad night continued as he watched three strikes (er, a missed call and two strikes) go by.
Abner Uribe replaced Ashby in the bottom of the eighth, and Cooper Pratt came in to replace the pinch-hitter, Vaughn, with Ortiz moving from shortstop to third. Uribe worked through an easy three-up, three-down inning, and the Brewers and Reds were locked at 0 through eight innings.
The new Cincinnati hurler was righty Tejay Antone. Chourio was fooled by a 3-2 sweeper, a shame, as it ended up middle-middle but Chourio just watched it go by. Turang, one of the only Brewers to show life at the plate tonight, lined a solid single into left with one out, and it looked like the Brewers might have something when Contreras hit a line drive into the gap in right. But Contreras didn’t quite barrel it, and Dunn made a running catch for the second out. The Reds went lefty-lefty by bringing in Brock Burke to face Bauers, who got ahead 3-1 but looked at the next two pitches, both strikes, and the inning was over.
Bauers had burned one of the Brewer challenges on the last pitch of the top of the ninth, and Contreras lost the other, albeit on a pitch that was less than 0.1 inches out of the zone, to start the bottom of the inning on the first pitch from Trevor Megill. Stephenson hit a hard fly ball to left later in the at-bat, but Chourio, playing deep, didn’t have any trouble tracking it down. Megill then struck out McLain on a foul tip, and with two outs Dunn lined a ball into the right-field corner but Frelick was also playing deep and made a nice catch to end the inning.
Nine innings wasn’t enough for either of these teams to muster a run tonight, so we kept going. Bauers was the ghost runner in the tenth as righty Tony Santillan entered for the Reds. Mitchell started the inning nicely by drawing an eight-pitch walk in front of Frelick, who laid down a good sacrifice bunt to advance Bauers and Mitchell. Ortiz was next, and he hit a solid fly ball to right that was plenty deep to score Bauers from third (and advanced Mitchell to third). With two outs, Pratt, who’d entered defensively, had a chance to get a huge add-on run, but it turned out Pratt didn’t even need to do anything; Santillan’s first pitch to Pratt was in the dirt and bounced away, allowing Mitchell to score. Pratt flew out, but the Brewers had built a 2-0 lead without getting a hit in the 10th.
Brewers carry a 2-0 lead into the bottom of the 10th
Tune in: https://t.co/eycfmE2vgmpic.twitter.com/URNlqWvWDx
— Milwaukee Brewers (@Brewers) June 23, 2026That was especially important, as the pitcher the Brewers chose to use in the 10th, given that they’d use their three best leverage guys already, was Joel Kuhnel, not exactly a pick that inspired great confidence. The Brewers got the first out when Bleday grounded out to second; Dunn, who started on second, advanced to third, but that second run in the top of the inning afforded the Brewers the luxury of not caring. Another ground ball from Stewart scored Dunn, but it was also the second out, so the Reds had the bases empty and were down to their last out in the form of Myers. Myers hit a line drive toward Turang that should’ve ended the game, but Kuhnel couldn’t help his reaction of reaching up, and he knocked it down, which resulted in an infield single. The Reds were given an extra chance, and Steer jumped at the first pitch and hit a hard grounder, but Ortiz, now over at third base, made a nice sliding play and threw him out to end the game.
Brewers 2, Reds 1 in 10 innings.
Joey Ortiz drove in the game's first run in the top of the 10th and ended the game by teaming with Jake Bauers to make this play in the bottom of the 10th.
The only team that got a hit in the 10th inning lost. Baseball! pic.twitter.com/Z0PrXe3NHJ
— Adam McCalvy (@AdamMcCalvy) June 23, 2026The story tonight was Woodruff, who was so good in his return, and a return to form by the three leverage arms in the Brewer bullpen, Ashby, Uribe, and Megill. But Ortiz was also a late hero for the Brewers, as it was his sac fly that finally got a run on the board and his nice defensive play that ended the ballgame. Milwaukee was fortunate to earn the win: the offense was objectively bad, as the team managed only three hits. Two of those belonged to Turang, who was the one exception on the “bad offense” front; the other, an infield hit, was Mitchell’s.
The Brewers will look for a better offensive showing in the second game of the series on Tuesday, but they’ll be happy to escape with a win tonight. More importantly, Woodruff looked like someone who the Brewers might be able to rely on down the stretch, and from a pure fan perspective, it was just nice to see him pitching well for the Brewers again.
That second game of the series comes tomorrow evening at 6:10, when two talented but struggling hurlers face off in Brandon Sproat and Nick Lodolo.