MINNEAPOLIS, MINNESOTA - APRIL 28: Josh Naylor #12 of the Seattle Mariners hits an RBI single against the Minnesota Twins in the sixth inning at Target Field on April 28, 2026 in Minneapolis, Minnesota. (Photo by David Berding/Getty Images) | Getty Images
In a pitching duel between Joe Ryan and Logan Gilbert it was the Twins who were the first to break through. In the 5th, Byron Buxton hit a misplaced Gilbert fastball out of the park to left for his 7th home run of the year. It was a good result, but felt somewhat lacking as, in the 4th, they had stranded the bases loaded with Tristan Gray and Royce Lewis unable to get a hit.
That lack of run support hurt, as in the 6th Joe Ryan allowed a 2-out double to Julio Rodriguez, then Josh Naylor singled to left, tying the game. In the 7th, a lead off double by Randy Arozarena spelled the end of Ryan’s night, with Kody Funderburk entering. Kody got the next two Mariners out, but Cole Young slapped a single to left to give them a 2-1 lead.
The Twins batters were unable to get anything done against Eduard Bazardo in the 6th, and Gabe Speier in the 7th. The Twins bullpen was not so lucky in the 8th. Funderburk walked J.P. Crawford, then Cole Sands entered and gave up a double to Rodriguez, followed by a 3-run homer by Josh Naylor to break the game open, 5-1.
In the 9th, Rodriguez would double in 2 more Mariners to push this once close game to 7-1. That’s your final score.
I also wanted to mention that Randy Arozarena went 2-3 with a double tonight, continuing his dominance against Twins pitchers, as he had an OPS of 1.025 against them entering the game today.
Apr 28, 2026; Minneapolis, Minnesota, USA; Seattle Mariners starting pitcher Logan Gilbert (36) delivers a pitch against the Minnesota Twins during the first inning at Target Field. Mandatory Credit: Nick Wosika-Imagn Images | Nick Wosika-Imagn Images
Blake Snell had his way with Class-A hitters in his second minor league rehab start on Tuesday night. The Dodgers left-hander struck out six in three scoreless innings for Ontario against the Lake Elsinore Storm, a San Diego Padres affiliate.
Snell struck out all three batters he faced in the first inning, then allowed a leadoff double in the second but struck out the next three batters to escape that frame unscathed. He needed only five pitches to complete a perfect third inning with a flyout and two groundouts.
In all, Snell threw 39 pitches on Tuesday, 29 for strikes. He induced 11 swinging strikes, and retired nine of his 10 batters faced.
“The first two starts are like — for me, I’m very patient. I just want to see how I feel, how I respond, what’s working, what’s not working. If offspeed is really good, if the fastball is really good, I want to learn how they’re playing,” Snell told reporters last week in San Francisco after his first rehab start. “After those first two starts, that’s when you get more aggressive, like okay now we need to make it happen.”
ATLANTA, GA - APRIL 28: Martín Perez #33 of the Atlanta Braves reacts in the third inning during action against the Detroit Tigers at Truist Park on April 28, 2026 in Atlanta, Georgia. (Photo by Matthew Grimes Jr./Atlanta Braves/Getty Images) | Getty Images
The Atlanta Braves took on the Detroit Tigers in a clash of first place teams, both with some of the best rotation outputs in MLB. The Braves are red hot having won twenty games before May for the first time in franchise history, and going 20-9 for only the ninth time in franchise history. This game had the makings of a low scoring affair if Martín Pérez was able to keep up his surprising start. As a side note, this series will be the only time these two teams meet in the regular season.
Martín Pérez has kept runs off the board, but his underlying metrics show he has been lucky. He got the job done again tonight though. Casey Mize, the Tigers’ SP for the night, has been stellar so far this season. However, he has never beaten Atlanta and holds a career 4.66 ERA against them.
Martín Pérez sat down the the first three hitters he faced with relative ease, and this is important because Gleyber Torres has three HRs against him in his twenty-two at-bats against Pérez. Ronald Acuña may finally be heating up as he smoked a ball for a double to lead off the the bottom of the first inning. It looked like the Braves would start their scoring then with Baldwin moving the runner to third with a groundout and then Matt Olson walking. However, Mize was able to Albies to strike out and Harris to ground out.
Pérez made it interesting in the second, but just like the rest of the year he was fortunate in the stranding runners on base department. He produced a groundout, but then gave up a walk on an ABS challenged pitch. After a Greene groundout, he gave up another walk. Fortunately, he calmed down and got the strike out to end the top of the second.
The Braves could not get anything going in the second, and to add salt to the wound Dominic Smith lost a challenge on a strikeout. Pérez settled down for the most part in the third by only giving up one baserunner, but it was yet another walk. The Braves finally broke through in the third inning. Yastrzemski decided it was time to get out of his slump and hit a double. Not to be outdone, Acuña followed that up with his second double of the night to plate the first run of the game.
On the same play, it moved Acuña to third and Matt Olson cashed in by hitting a sacrifice fly to make the score 2-0. Albies grounded out, but the Braves had done what they needed to. In the fourth inning, Pérez finally gave up his first hit when Dingler hit a single. By this time it seemed like it was not possible that it was the first hit because of the amount of baserunners, but Pérez has been really good at keeping his composure this season to stay calm and strand runners. Dingler’s single was the only base runner of the inning for the Tigers.
The good news for Austin Riley in the fourth inning is he finally got on base. The bad news is that it was due to a throwing error from a pitcher who would not have even been in the game if it were not for an injury. Kyle Farmer finally saw some playing time replacing Dominic Smith at DH due the pitching matchup, but he unfortunately struck out. The Braves were not able to capitalize on the error and Riley was the only baserunner of the inning.
Pérez stayed in the pitch the fifth inning and it was the right move, technically, but it was not without its drama. Lee doubled to start the inning, but Pérez got Báez to groundout. He then got a strikeout, but then it got scary for a second when Torres walked and then after a mound visit Kevin McGonigle looked to have hit a HR, but Acuña does what he does best and jumped at the wall to make the play to end the top of the fifth. The Braves were shut down in the fifth, but thanks to Acuña, they maintained their lead.
In the sixth inning Didier Fuentes made his first appearance since being called up. This goes to show he likely will remain in the reliever role for now. Pérez ended his night with 5.0 IP with two hits, zero runs, and five strikeouts, lowering his season ERA to 2.22. Fuentes stayed in the game for 2.0 innings and only allowed one baserunner via a walk. He also picked up a strikeout along the way. The Braves again had a blank on offense in the bottom of the sixth.
In the bottom of the seventh Riley led off with a strikeout which was confirmed via ABS and Farmer stuck out again as well. However, the back end of the lineup came through as Dubón had a double, making it four total for the Braves thus far in the game and then Yastrzemsi knocked him in with a single to make the score 3-0.
Moving onto the eighth inning and we see that Tyler Kinley is human after all when he gave up a single and a double. But, he did not give up a run and had assistance from ABS with a strikeout when Greene challenged and failed on an excellent pitch on the lower corner.
In the bottom of the eighth Baldwin continued to struggle with a pop out but Matt Olson and Ozzie Albies made up for it when Olson hit a double and then Ozzie Albies smacked a HR to make the score 5-0. Shocker alert, it was against a lefty.
It looked like more damage may be done with a single from Harris and Farmer but no more runs were scored. With the Braves bullpen, confidence was high.
With a five run cushion, Aaron Bummer came in to pinch. Fortunately the five run cushion existed because Bummer did not have his best night. He gave up a two-run HR, but was able to get three outs to end it.
It is hard to say if the Braves would win this game if it was simulated multiple times because of the Mize injury and Pérez walking as many hitters as he did, but the Braves were having no issues hitting doubles like it was batting practice and score enough runs to get the job done.
The first team to twenty-one wins will have a tougher test tomorrow as they face two-time reigning Cy Young winner Tarik Skubal tomorrow at the same time and the same place.
CHICAGO, ILLINOIS - APRIL 10: Ethan Roberts #39 of the Chicago Cubs pitches in a game against the Pittsburgh Pirates at Wrigley Field on April 10, 2026 in Chicago, Illinois. (Photo by Matt Dirksen/Chicago Cubs/Getty Images) | Getty Images
The Cubs claimed left-handed reliever Doug Nikhazy off of waivers and assigned him to Triple-A Iowa. Infielder Ben Cowles was designated for assignment.
Left-hander Jackson Brockett was promoted from Low-A Myrtle Beach to High-A South Bend.
Shortstop Yahil Melendez was promoted to Myrtle Beach from Mesa.
Jordan Wicks made a rehab start today and he was greeted with a leadoff home run and things didn’t get much better from there. The first four batters reached and then after a ground out to first, Wicks gave up a three-run home run. Overall, he gave up five runs in the first inning and one more solo home run in the second.
The final line on Wicks was six runs on seven hits, including three home runs, over two innings. Wicks walked one and struck out no one. I suppose in his defense, the wind was howling out to dead center. In fact, Iowa allowed six home runs total and hit four themselves.
Ethan Roberts pitched the fifth inning on a rehab assignment and gave up a home run to the first batter of the inning. But then he settled down and struck out the next three batters to end his day.
Minnesota native center fielder Brett Bateman led off the top of the third inning in front of his family and connected for his first home run of the year. Bateman was 1 for 3 with a walk and a stolen base.
Third baseman BJ Murray singled after Bateman’s home run and then second baseman James Triantos clobbered a two-run home run. It was Triantos’ fourth on the year. Triantos went 1 for 3 with a walk and Murray was 1 for 4.
In the sixth inning, left fielder Kevin Alcántara crushed his ninth home run of the year with the bases empty. Alcántara was 1 for 4.
Finally, Hayden Cantrelle took over for Ben Cowles at shortstop when Cowles was designated for assignment mid-game. Cantrelle hit a solo home run in his only time at bat in the top of the ninth. It was Cantrelle’s second this season.
Iowa had five hits today. Four of them were home runs.
Bateman’s home run.
The hometown kid Brett Bateman gets his first Triple-A home run and gets the I-Cubs on the board! pic.twitter.com/xIfSgHE216
Kenton Egbert started and gave South Bend three scoreless innings, permitting three hits. Egbert struck out one and walked no one, so he kept the ball in play.
Brayden Spears took over for Egbert in the fourth inning and got the win. Spears allowed a solo home run to the second batter he faced, but that was the only hit and the only run he gave up over three innings. Spears walked one and struck out one.
Jackson Kirkpatrick had an ugly save in the ninth. First, he loaded the bases with no outs on two hit batsmen and a walk. After getting a strikeout, he walked another batter to force in a run. But with the tying run on second and just one out, Kirkpatrick got a second strikeout and a grounder to second base to end the game.
DH Cameron Sisneros hit his third home run of the year with the bases empty in the fifth inning. Sisneros went 1 for 2 with three walks and two runs scored. One of the three walks was intentional.
First baseman Cole Mathis was 2 for 4 with a double and a bases-loaded walk in the fourth inning for the Cubs first run. Mathis also scored once.
Shortstop Miguel Olivo was 3 for 4 with an RBI double.
Some great defense for Matt Halbach at third base. He was 1 for 5.
Starter Noah Edders went four innings and allowed just two runs, both unearned, on five hits. He struck out two and walked no one.
Daniel Avitia pitched the next three innings and allowed four runs in the seventh inning, coughing up the Birds 6-2 lead. Avitia’s final line was four runs, three earned, on three hits over three innings. Avitia struck out four, walked one and hit two batters.
Eli Jerzembeck was activated off the injured list, pitched a scoreless eighth and ninth inning and got the win. Jerzembeck allowed no hits, but he did walk three while striking out five.
Shortstop Ty Southisene broke up the 6-6 tie with an RBI double in the bottom of the eighth. Southisene went 1 for 4 with a walk and a stolen base.
First baseman Michael Carico hit a solo home run in the second inning. It was his third of the year. Carico finished the night 1 for 4 with a walk and two runs scored.
Next up, catcher Logan Poteet went back-to-back with Carico to make it 2-0. Poteet was 1 for 3 with two walks.
In the fifth inning, DH Eli Lovich connected with the bases empty for his second home run of the year. Lovich was 2 for 4 with two runs scored.
Apr 28, 2026; Atlanta, Georgia, USA; Detroit Tigers center fielder Javier Baez (28) goes down with an injury against the Atlanta Braves in the fifth inning at Truist Park. Mandatory Credit: Brett Davis-Imagn Images | Brett Davis-Imagn Images
After a pit-stop on the way down I-75 for three games and some questionable “chili,” the Tigers continued south to visit the red-hot Atlanta ball club for the opener of a three-game series on Tuesday night. The Tigers’ bats ran cold, two key players left the game with injuries, and they dropped the opener to the tune of a 5-2 tally.
Making his sixth start of the season for the Tigers was Casey Mize, and he’s looked good in his last couple of starts before tonight. Arguably, his April 17 outing in Boston was one of the best of his career: 6 2/3 shutout innings, three hits, one walk and seven strikeouts? By the stat of Game Score — a rough index to try and determine how good a start is — that was a 74, the highest of his career, one above a stellar start in 2021 against the Mariners. (There are some names in that box score, eh?)
Facing Mize and the Tigers was lefty Martín Pérez, making his fourth start (against two relief appearances) for Atlanta this year. He spent nine years in the Rangers’ rotation before bouncing around a little: some time with the Twins, another stint in Texas, and the south side of Chicago last year. He didn’t make Atlanta’s big-league roster out of Spring Training, but was quickly recalled from Triple-A and has had some nice appearances so far. He’ll give you some innings, won’t dominate you too often, generally limits home-run power and, while he used to be an extreme ground-ball pitcher early in his career, has become much less so recently.
On the first pitch of the bottom of the first, Ronald Acuña Jr. smacked a double to the wall, but Mize was able to get the next three batters and strand him at third. He then sawed-through the next three batters in the second, including featuring that right-on-right splitter that, earlier in his career, he’d use primarily against lefties alone.
Meanwhile, Pérez was pulling the string with his changeup more than a kid with a new Chatty Cathy doll: he struck out both Spencer Torkelson, Kevin McGonigle and Jahmai Jones (three hitters on heaters lately) with straight change-ups right down the middle. You know what I said about not dominating teams? Well, he had it tonight.
Atlanta got on the board first with a pair of doubles to start the bottom of the third inning, by Mike Yastrzemski and Acuña to put the home team up 1-0, and let the record show that I spelled Yastrzemski right without looking. The next batter, Drake Baldwin, hit a dribbler up the first-base line; Mize fielded the ball and tossed underhand to first for the out, and he came up limping, favouring his right leg, and that was it for Mize; it was later reported that he had some “right groin tightness.”
Brant Hurter, who’s been used as a multi-inning reliever, came on for Mize and gave up a sacrifice-fly liner to score Acuña for a 2-0 lead.
Dillon Dingler managed the first Tiger hit with one out in the fourth, despite getting three on base before that via the base-on-balls. Alas, Dingler was stranded there after Riley Greene flew out and Torkelson struck out.
Hao-Yu Lee started the fifth with a double, and Javier Báez hit a grounder to shortstop. The throw to first was high, and Báez figured he could get underneath a tag by sliding into first base — which is never a good idea, kids — and ended up twisting his right ankle. He had to be taken off the field on a cart, but if you can have a little hope here, he was seen wiggling and moving his ankle around while on the cart.
(I don’t want to have to point this out, but… that belt of Báez looks a little too Zubaz-ish for my liking. IYKYK.)
After Gleyber Torres walked, McGonigle hit a long fly ball to right, but it was caught halfway up the wall for the third out and the threat was extinguished.
Pérez, whose pitch count was pushed up by a few long at-bats, was out after five innings and Didier Fuentes, a young right-hander from Colombia, took over and he had his slider working overtime, scattering a Greene walk harmlessly amid three quick outs. The Tigers struck out less than the Braves in this one, and hit the ball pretty solidly for the most part, but they neglected to hit them where they ain’t.
Burch Smith took over for Hurter to start the sixth, facing the heart of the order. He got Matt Olson to strike out swinging, and after walking Ozzie Albies, he got Michael Harris II to ground into an inning-ending double play. Smith carried on into the seventh, and with two outs he gave up a double to Mauricio Dubón, who scored on a Yastrzemski single just over Torres’ glove to make it 3-0. But then Chris Fetter paid Smith a visit, whispered some sweet nothings into Smith’s ear, and he struck out Acuña on three pitches.
In the top of the eighth McGonigle singled and Dingler doubled, putting runners on second and third with two outs and bringing Greene to the plate as the tying run. Alas, Greene struck out looking on a pitch that barely nicked the corner of the strike zone, and the inning was over.
Tyler Holton relieved Smith in the bottom of the eighth, and the Georgians tacked-on a pair of runs but-quick: with one out Olson doubled and Albies smacked a fat changeup over the fence for a 5-0 lead.
Torkelson came up first in the ninth inning for one last chance to extend his home run-hitting streak, but he grounded out to third; fun while it lasted. After Colt Keith singled, Wenceel Pérez hit his second home run of the year to get the Tigers on the board, but that would be the final scoring action of the game.
How about that Spencer Torkelson fellow? Five straight games with a home run last week, and still didn’t win American League Player of the Week. That honour went to the A’s Carlos Cortes who went 13-for-24 with three dingers, which is fine, I guess. That Torkelson: he don’t get no respect, I’ll tell ya.
After Sunday’s game, the Tigers as a team had the third-highest OPS (and OPS+) in the American League. Detroit’s OPS was .750, with an OPS+ of 106; if you don’t like anything related to OPS, the Tigers were fourth in batting average (.253; league-average is .239, which still boggles my mind).
First Alex Cora in Boston, then Rob Thomson in Philadelphia: managers are getting fired left, right and centre! Who do you have next on your list?
On this day in 1900, Dutch astonomer Jan Oort was born. He’s probably most famous for lending his name to the Oort Cloud, the spherical repository of tiny, icy bodies past the Kuiper Belt that most likely is the source of comets. But an argument could be made that his calculations regarding the rotation of the Milky Way, and the conclusion that there must be a lot of unseen (i.e., “dark”) matter kicking around, was the most important in the broader science of cosmology.
Apr 24, 2026; New York City, New York, USA; Colorado Rockies left fielder Jordan Beck (27) celebrates with center fielder Brenton Doyle (9) and outfielder Troy Johnston (20) after defeating the New York Mets at Citi Field. Mandatory Credit: Vincent Carchietta-Imagn Images | Vincent Carchietta-Imagn Images
With the first month of baseball in the books, there have been plenty of surprises across the league. From surprise contenders to fallen favorites and from managers on the hot seat to unexpected performers, the 2026 season has been full of surprises. While things are certain to shift as the long season drags on, here are some of the surprises as April draws to a close:
Up-and-Comers
As you’re well aware, it took your Colorado Rockies 68 games to get their 13th win in 2025. They’ve already hit that mark in April at 13-16.
The Athletics are setting out for a better 2026. Not expected to do much after a 76-86 season, they’re currently holding onto first in the AL West at 15-13.
The Cincinnati Reds are also exceeding expectations. Thought to finish near the bottom of the NL Central, they’re leading the way right now with an 18-10 record.
Underperformers
From an American League pennant to fourth in their division, the Toronto Blue Jays are struggling out of the gate, currently at 12-15.
The Boston Red Sox, a Wild Card team just last season, are among the worst in the league at 11-17 and just fired skipper Alex Cora and several other staff.
The NL East looked like it would yield a number of contenders. The Braves sit at 20-9, but every other team in the division has a losing record. Among the most disappointing are the Philadelphia Phillies (who were the 2-seed in the NL last postseason but are now a league-worst 9-19) and the New York Mets (projected to contend with a loaded roster but join the Phils at 9-19). This led to another firing today, with Philadelphia moving on from manager Rob Thompson.
The preseason PECOTA standings thought highly of the Kansas City Royals, projecting them to finish with 84 wins at first in the AL Central. So far, they’re in last at 11-17.
Big Time Players
The Chicago White Sox needed something positive, and they got it. In his first year in the MLB, Munetaka Murakami is showing off the power that made him a star in Japan. He leads the league in home runs with 12.
A pair of New York Yankees sluggers are also in the top five for home runs. Aaron Judge (11 HR) makes a familiar appearance on the list, but he’s joined by teammate Ben Rice (10 HR) who is having a breakout season after showing flashes last year.
Contributing to Cincinnati’s hot start mentioned above is a potential breakout star in first baseman Sal Stewart. He came into the year at 22nd on MLB’s Top 100 Prospects list and has started the season with a bang, leading the league in RBI and is slashing .291/.385/.602.
A lot will change in the remaining games on the path to 162, but what’s caught you by surprise the most in this young season? Whether it’s one of the rising or falling teams above, a player crushing it, or a superstar not living up to expectations, what’s happening that you didn’t expect to see? Let us know below!
LOS ANGELES, CALIFORNIA - APRIL 26: Freddie Freeman #5 of the Los Angeles Dodgers at bat during the fifth inning of a baseball game against the Chicago Cubs at Dodger Stadium on April 26, 2026 in Los Angeles, California. (Photo by Ryan Sun/Getty Images) | Getty Images
Dodgers at the moment have their second three-game win streak of the season. They also have a five-game win streak (April 3-7) and a four-game win streak (April 13-17).
The designated hitter bats leadoff for Los Angeles, per usual.
The story before the game was Cleveland top prospect Travis Bazzana was recalled to help kickstart a struggling Guardians offense which had posted a 95 wRc+ over the past two weeks. While Bazzana did his part to help matters drawing two walks, Nick Martinez and comapny caused trouble and bothered everybody in the Cleveland lineup limiting the Guardians to three hits and six baserunners in the shutout.
For awhile, this game had the feeling of a Spider-Man meme in action as both Martinez and Tanner Bibee were trading blows from the mound as both hurlers were attacking the zone with their full arsenals, albeit with different approaches. Bibee genereated 12 whiffs in the game and the Rays consistently pushed him into 18+ pitches per inning despite doing little against him in the first four innings. Bibee’s challenge was made easier when Junior Caminero fouled a ball off his face and had to leave the game after his first plate appearance. In-game reports have Caminero with a bruised jaw and day-to-day, and it’s likely he is sitting for tomorrow’s getaway game. The workload caught up to Bibee in the 5th inning when he walked Taylor Walls on six pitches and later allowed back-to-back singles to Ben Williamson and Jonathan Aranda to plate the game’s only run. The bullpen got the final 12 outs for Cleveland with nary a scare, leaving Rays pitching to do some heavy lifting.
Martinez was incredibly efficient this evening as he left the game after a leadoff walk to Bazzana in the 8th inning despite throwing just 78 pitches. Martinez had faced 25 batters to that point, so proactively getting in front of the fourth time through the order penality was the right call by Kevin Cash. However, the opportunity cost was Ian Seymour coming in and yet again walking his first batter on five pitches only because the umpire gifted a strike one call on the 4th pitch. That set up the sacrifice bunt by Brayan Rocchio and an intentional walk to Steven Kwan to load the bases. Seymour then found his command and struck out Chase DeLauter on three pitches allowing Cash to then lift Seymour for Kevin Kelly who kept Jose Ramirez in the yard, barely, to end the inning.
Cole Sulser came in to pitch the 9th and things got a little hairy with a two-out double by Angel Martinez which nearly left the yard and an intentional walk to Bazzana, but Sulser rebounded to strike out George Valera on three pitches to secure his first save and the Rays sixth consecutive win.
Getting back to Martinez, he has simply been incredible for the Rays this season with his efficiency and his results. He has now limited opposing batters to a .196 average swith 31 baserunners in 31 innings and just 3 home runs allowed. This was his fourth quality start on the season and he has yet to allow more than two earned runs in any outing. Martinez, no doubt, took notes watching Steven Matz go changeup heavy as Martinez leaned on his own changeup to keep the batters off balance all evening. DeLauter had the only solid contact off Martinez with a single in the first inning, but nobody else was able to get to Martinez in the rest of the outing. If you are a fan of pitching without gas, these last two nights have been an absolute pleasure to watch by the two free agent vets the front office targeted this winter.
Drew Rasumssen goes to the bump in the getaway game tomorrow, which cannot thrill the Guardians after what they have gone through these past two games. Let’s hope Junior’s jaw is good and he is back in the lineup when the club returns home to kick off a six-game homestand against the Giants and Blue Jays. Pitching and defense have won many a game for this franchise over the years, but tonight was truly about the pitching because Martinez rocked up on the mound and rocked the mound (Right).
BALTIMORE, MD - APRIL 28: Shane Baz #34 of the Baltimore Orioles pitches in the first inning during a baseball game against the Houston Astros at Oriole Park at Camden Yards on April 28, 2026 in Baltimore, Maryland. (Photo by Mitchell Layton/Getty Images) | Getty Images
Tonight marked the third series in a row in which the O’s have faced a last-place team. Are the Orioles a good team? We’re not sure. But right now, Houston has the worst record in the American League and is down a whole outfield, a shortstop, practically an entire bullpen…
Surely, given the depleted state of the ‘Stros, the Orioles could hope for nice things tonight? Nice things like Pete Alonso tanks and Shane Baz quality starts.
Well, close enough! Pete the Polar Bear did go deep, a big two-run bomb in the fifth inning to put the O’s up 4-1, and though a shaky Anthony Nunez allowed it to get close in the eighth, Ryan Helsley slammed the door to preserve a 5-3 win. Meanwhile, Shane Baz finished one out short of a QS, but along the way he showed some of his best stuff all season, going 5 1/3 with just one earned run allowed and six strikeouts.
Tonight’s tart felt like a good time for Shane Baz to find his ace stuff. (Or I’m just saying that because this is my recap.) But really, it’s getting late enough in the season—and Baz far enough removed from surgery—that the pressure is on a little bit to see what the talented righty’s really got.
Well, this was a good outing. If we’re nit-picking, Baz is still throwing a lot of uncompetitive breaking pitches outside the zone. But that’s OK. He has a 99-mph fastball and nasty break, and he made a lot of Astros look bad tonight.
Baz also got to pitch from a 2-0 lead, his team spotting him two quick runs against reliever-turned-starter-for-tonight Kai-Wei Teng. Teng had had sparkling results so far (2.16 ERA in 11 appearances out of the bullpen), but the O’s greeted him rudely.
Here’s how it went. Gunnar Henderson led off the game with a noisy double to left and scored on an Adley Rutschman single after the catcher nicely worked the count against Teng. Another hot young bat, that of Samuel Basallo, hit a scorching 112-mph double to right, and the Birds were up 2-0 without breaking a sweat. A nice change of pace from waiting until the eighth inning to start connecting with the ball.
Baz allowed leadoff hits in both the second and third innings, but no damage. You know what’s a great way to take care of leadoff RISP? Strike out the side. Baz did that in the second, dispatching the 7-8-9 Astros hitters in order. It was beautiful. He retired the side in the third, too, helped out by Coby Mayo’s slick play, gobbling up a slow roller with his bare hand, and firing in time to retire Paredes.
A nice moment in the fourth. Baz fell down 2-0 to Christian Walker, then battled back and finished him off with a cutter. Like “Mike Mussina at his best,” pronounced Jim Palmer from the booth. Hey, that’s pretty good company.
Baz wobbled a bit after striking out the first hitter of the fifth. The No. 9 guy, Brice Matthews, hit a fastball into the bleachers on a strong inside-out swing. Now it was 2-1.
But Pete Alonso wisely chose this moment to go long. After Kai-Wei Teng’s three innings, the Astros turned to an ineffective Steven Okert, and then Ryan Weiss, who entered with an ERA north of six. Gosh, fans have asked, when is Pete Alonso going to start hitting home runs? We have ourselves have an answer. With one aboard via walk, Weiss left a fastball down the middle, and the Polar Bear delivered, cranking the ball into the bleachers. We now had ourselves a 4-1 Orioles lead.
That lead felt kind of safe, actually. Even when Baz, approaching 100 pitches in the sixth, allowed two two-out singles in the sixth. Baz was yanked, and in came Rico “The Janitor” Garcia, to clean up the mess. Well, the Janitor Always Mops Twice. That doesn’t make any sense here, but Garcia did get out of the inning with a divebomber changeup, like he often does.
The lead shook in the seventh and eighth, I admit. Andrew Kittredge looks to have some rust to shake off, too, by the looks of it. He allowed a single and a double before whiffing Carlos Correa. Gutsy! Kittredge intentionally walked the scary Yordan Alvarez, opting to face Isaac Paredes. Paredes swung through some junk! Now José Altuve came up with the bases loaded. More junk! More swings! I don’t know if to give Kittredge flak for loading the bases, or style points for wriggling out of it. Both!
The Astros’ Ryan Weiss, a guy pitching in the KBO last season (where he was known as “Daejeon Jesus”), was a hoss tonight, giving his team length, though the results weren’t always pretty. Weiss threw breaking balls right and left, mostly successfully. Where it didn’t succeed was in the bottom of the seventh, when the O’s tacked on a fifth run on a Gunnar walk + steal and an Adley single. (Adley: definitely hot right now.)
Rookie Anthony Nunez is having a charmed debut, but there will be tougher competition in this league than Double-A, where he was last season. Christian Walker and his sheriff mustache doubled to lead off the eighth and scored on a triple by No. 8 hitter Dustin Harris. Nunez battled to strike out Cam Smith, but Brice Matthews singled to make it 5-3. Would Nunez make it out of the inning? He survived a mound visit, and also Carlos Correa, whom he got swinging on three straight pitches. Onto the ninth!
Ryan Helsley had himself a real save situation. He sat down Yordan Alvarez, Isaac Paredes and José Altuve in order (defensive replacement Blaze Alexander contributed a super-slick barehanded play to retire Altuve). The Orioles have themselves a real closer.
Is Shane Baz an ace who was worth four prospects? Are the Orioles a good team? Maybe not yet. But stacking zeroes/wins against bad teams is how you get to such accolades.
Who is your Most Birdland Player of this tidy Tuesday win? Shane Baz, starting to look ace-like, with 5 1/3 one-run innings and six K’s? Adley Rutschman, 2-for-4 with 2 RBIs and lots of nice contact all night? Pete Alonso, with the big two-run bomb? Samuel Basallo, who had two hits of > 105 mph? Andrew Kittredge, for making a mess and cleaning it up himself? Sound off in the comments.
PHILADELPHIA, PA - APRIL 28: Philadelphia Phillies pitcher Jesus Luzardo #44 pitches the ball during the game between the Philadelphia Phillies and the San Francisco Giants on April 28th, 2026 at Citizens Bank Park in Philadelphia, PA. (Photo by Terence Lewis/Icon Sportswire via Getty Images) | Icon Sportswire via Getty Images
The struggling Philadelphia Phillies got a masterful start from Jesús Luzardo Tuesday night. He held the San Francisco Giants to two baserunners and three total bases in seven innings of work, striking out eight including a hat trick of Matt Chapman. The only thing he didn’t go was close, leaving with a five-run lead after 88 pitches in the Phillies’ 7-0 victory.
After all, Luzardo (2-3) started the game and left with a big lead. In this game, by rule, Jesus didn’t save.
Giants starter Tyler Mahle dropped to 1-4 in a game where he pitched quite well for five innings, holding the potent Phillies lineup to three hits and a single run, after a Trea Turner single, two walks, and a bases-loaded sacrifice fly by Brandon Marsh.
But the wheels came off in the 6th, when Willy Adames bobbled Turner’s grounder up the middle and the Phillies shortstop reached on an infield hit, one of his four hits in the game. After Mahle walked Kyle Schwarber for the second straight time, Bryce Harper doubled in Turner to make it a 2-0 game, then Adolis Garcia followed with another double to push Philly’s lead to 4-0 and chase Mahle.
Both doubles came on Mahle splitters that broke right over the center of the plate. His final line was 5 IP, 5R, 5ER, 3BB, 3K and his ERA rose to 5.87. Matt Gage relieved and let Garcia score on an Alec Bohm double, which was the Phillies’ third RBI on balls hit towards Heliot Ramos.
At the same time, it didn’t really matter what Mahle did in a game where the Giants got only two hits. Luzardo, Orion Kerkering, and Tim Mayza combined to retire the Giants’ final 17 hitters and only two Giants managed to hit the ball out of the infield after Luis Arraez doubled in the 4th inning. For the game, the Giants left the infield only four times, including a leadoff double by Ramos followed by three straight strikeouts on Luzardo sweepers in the 4th.
Chapman had the worst night, earning the dreaded Golden Sombrero by striking out four times in a game. Patrick Bailey struck out twice, dropping his batting average to .143 before manager Tony Vitello pinch-hit Jerar Encarnacion for him in the 9th. Who also struck out.
Philadelphia added on the their lead in the 8th inning after Brandon Marsh singled and stole second with two outs. That may or may not violate the unwritten rules of baseball, which we’ll know if Marsh gets beaned in the second inning of Wednesday’s game.
After Marsh’s steal, Justin Crawford singled him and came around to score on Turner’s fourth hit of the night, a single off daywalker Blade Tidwell that completed the night’s scoring.
Perhaps the Phillies got a boost from Tuesday morning’s dismissal of former manager Rob Thomson. Bench coach Don Mattingly took over as interim manager and is now 1-0 as skipper of the Phillies, whose even-keeled fans will surely give their new leader plenty of patience and support.
Or perhaps everyone looks good against the Giants anemic offense. How do they get back on track? We suggest cheese steaks for everyone.
Apr 28, 2026; Philadelphia, Pennsylvania, USA; Philadelphia Phillies third baseman Alec Bohm (28) celebrates his RBI double against the San Francisco Giants during the sixth inning at Citizens Bank Park. Mandatory Credit: Eric Hartline-Imagn Images | Eric Hartline-Imagn Images
In the wake of Rob Thomson’s sacrificial demise as manager of the Philadelphia Phillies (10-19) earlier today, the team put together their most complete win of the season for new boss, Don Mattingly, in a 7-0 dismantling of the San Francisco Giants (13-16).
Jesus Luzardo and company held the Giants to two hits and combined for 12 strikeouts.
Luzardo had his best start of the year, lowering his ERA nearly a point and a half by going seven clean innings with eight Ks. He allowed both of the Giants’ baserunners on doubles by Heliot Ramos and Luis Arraez in the third and fourth innings. Orion Kerkering and Tim Mayza each pitched a two-K 1-2-3 frame in relief.
The Phillies opened the scoring against Tyler Mahle in the fourth inning on a sacrifice fly by Brandon Marsh after a Trea Turner single and walks to Kyle Schwarber and Adolis Garcia loaded the bases.
The bulk of the damage was inflicted in the bottom of the sixth inning when the entire lineup came to the dish and cashed in three RBI doubles by Bryce Harper, Garcia and Alec Bohm.
The Phillies would tack on two more in the bottom of the eighth after Marsh led off the inning with a single, stole second, and came home on a hit by Justin Crawford. Crawford scored two at-bats later on Turner’s fourth hit of the game.
Really the lone blemish on the evening was due to Bryson Stott’s three strikeouts, but he and Rafael Marchan each worked a walk that achieved every Phils’ hitter reaching base safely on the night.
The shutout victory is the Phillies’ first this season after tallying 14 last year.
Cristopher Sanchez takes the mound for Game 2 of the Mattingly era tomorrow night against Logan Webb.
The Mets' bats woke up in a big way, scoring seven runs in the fourth inning en route to an 8-0 win over the Washington Nationals on Tuesday night.
Here are the key takeaways...
-- Bo Bichette smacked a leadoff home run to right-center field on the first pitch he saw from Zack Littell to give the Mets a 1-0 lead. It's his second homer of the season and seventh career leadoff HR.
-- The Mets waited until the fourth inning to record their next hit on MJ Melendez' one-out single. That got New York going as Mark Vientos and Brett Baty both walked to load the bases for Marcus Semien, who's grounder got under Jorbit Vivas' glove at third base, allowing two runners to score.
Carson Benge then came through with a two-RBI single and Bichette tacked on another with a a sac-fly, making it 6-0. New York's biggest inning of the year continued as Juan Soto launched a two-run home run to left-center field, pushing the lead to 8-0.
-- Clay Holmes retired the first seven Nationals he faced before letting up a one-out single to Drew Millas in the top of the third inning. The right-hander then walked James Wood with two outs to give Washington a scoring chance, but was able to win his first challenge of the night by striking out Luis García Jr. to end the frame.
Holmes kept it going through the sixth inning, getting three groundouts to keep Washington scoreless. He didn't come back out for the seventh inning having already thrown 94 pitches, finishing after 6.0 IP with six strikeouts, allowing just three hits and one walk.
-- Tobias Myers tossed scoreless seventh and eighth innings, allowing just one baserunner on a walk. Craig Kimbrel shut things down in the ninth, striking out the side to lock up New York's second shutout of the season.
-- The team finished with six hits as Benge was the only Met to have more than one, going 2-for-4 with two RBI in the win. He's improved to 7-for-16 at the plate over his last five games.
Game MVP
While the bats came through for New York, Holmes kept Washington's quiet as his season ERA now sits at 1.75. Holmes became the first Mets starter to earn a win since he did back on April 4 against the San Francisco Giants.
The Mets’ lineup took advantage of its opportunities tonight at Citi Field, as the team beat the Nationals by an 8-0 score. Clay Holmes pitched well, and a big error by the Nationals helped the Mets blow the game open, but there’s nothing wrong with any of that as far as the Mets are concerned.
Bo Bichette opened the scoring with a leadoff home run in the bottom of the first on the first pitch that he saw from Nationals starter Zack Littell, who entered the game with a 7.56 ERA on the season. His teammates didn’t do any further damage through the bottom of the third, but that changed in a big way in the fourth.
With the bases loaded and one out in that inning, Littell induced a ground ball off the bat of Marcus Semien that had the potential to turn into an inning-ending double play. But Nationals third baseman Jorbit Vivas misplayed it entirely, allowing the ball to end up in left field and plating the Mets’ second and third runs of the game.
That left runners on second and third, and Carson Benge single to left-center to bring both of them home and give the Mets a 5-0 lead. After a Ronny Mauricio single put runners on the corners, Bichette hit a sac fly to bring in the Mets’ sixth run, and Juan Soto followed that up with a two-run home run to left-center field. The Mets were up 8-0, which was more than enough to win the game.
As for Holmes, he threw six innings without allowing a run, struck out six, walked one, and allowed just three hits. He now has a 1.75 ERA on the season, an impressive number even if the underlying metrics don’t fully support it.
Tobias Myers took over in the top of the seventh and went on to throw two scoreless innings before Craig Kimbrel retired the Nationals in order in the ninth to finish the game.
The Mets need to do much more than win one game against the Nationals, but it is obviously a good thing that they snapped a three-game losing streak. David Peterson takes the mound tomorrow night, and he and the Mets’ lineup will try to get the team a series win.
What’s WPA? Big Mets winner: Clay Holmes, +22% WPA Big Mets loser: none Mets pitchers: +23% WPA Mets hitters: +27% WPA Teh aw3s0mest play: Two runs score on a Jorbit Vivas error in the fourth, +13% WPA Teh sux0rest play: CJ Abrams singles in the top of the fourth, -3% WPA
Colorado Rockies outfielder Troy Johnston (20) and right fielder Tyler Freeman (2) misplay a pop off in the first inning of the MLB National League game between the Cincinnati Reds and the Colorado Rockies at Great American Ball Park in downtown Cincinnati on Tuesday, April 28, 2026. The Reds led 4-1 after three innings. | Sam Greene/The Enquirer / USA TODAY NETWORK via Imagn Images
After sweeping the New York Mets over the weekend, the Colorado Rockies hoped to continue on their winning track in Game 1 against the Cincinnati Reds. However, it was not to be as the Rockies, despite getting on base throughout the game, could never manage to bring runners home and lost the series opener, 7-2.
Edouard Julien powers an offense that can’t finish the job
The Reds took the lead in the first inning on a weird bloop single from Elly De La Cruz that scored Dane Myers. Spencer Steer followed that up with a two-run homer, and the Rockies were down 3-0 as the first inning ended.
The Reds re-established their three-run lead in the bottom of the third, however, when De La Cruz tallied his second RBI of the night, and the score was 4-1.
Julien struck again in the fifth inning when he hit an RBI single to bring home Jake McCarthy, and made the score 4-2.
The Rockies tried to rally in the sixth with runners on second and the third with one out following a Troy Johnston double, but they were unable to capitalize.
The sixth inning was the last for Chase Burns. He finished the evening with 6.0 IP, giving up two runs (both earned) on seven hits. He struck out nine and allowed one walk. After that, the Reds went to their bullpen, which finished the job Burns had started.
The Reds did not score again until the eighth inning when De La Cruz hit a two-run homer, which put the Rockies behind 6-2.
It was another stellar outing for De La Cruz who finished the evening going 3-for-4 with two runs and four RBI.
After that, the Reds continued to get hits, and by the time the eighth inning ended, the score was 7-2.
The Rockies continued to get players on base but failed to bring them home — in fact, they had baserunners on base each inning. All told, the Rockies went 1-for-10 with runners in scoring position. They struck out 12 times and walked twice.
While hits were spread through the Rockies lineup, the standout was Julien who was 3-for-4 with a walk, a run, and two RBI.
“Situational baseball, not good today,” Schaeffer said.
Freeland has a solid return
Stop me if you’ve head this one before, but it was a first-inning-of-unfortunate-events for Kyle Freeland that involved an RBI bloop single in addition to Troy Johnston botching a pick-off attempt at first. (It was not a great defensive night for Johnston.) The starter’s only real mistake was that pitch to Steer that resulted in a two-run homer.
The consequences were twofold. First, Freeland was already down 3-0 at the bottom of the first; second, he threw 31 pitches, which meant his time on the mound would be short, especially given that he was coming off the IL.
In the end, Freeland (again) did his best to keep the Rockies in the game and got stronger as the evening progressed, but the offense struggled to figure out Burns and provide some run support.
Freeland finished the evening with 5.0 IP in which he gave up four runs (all earned) on five hits. He struck out four and walked one.
In short, Freeland was better than the box score indicates.
“I thought Free was really good. Free kept us in the ballgame,” Schaeffer said.
“I definitely got stronger as the game went on,” Freeland said. He added that he did not experience any shoulder issues.
Tanner Gordon was good — until he wasn’t
Schaeffer turned the game over to Tanner Gordon in the sixth inning. Gordon was good for two innings, but allowed some damage in the eighth inning.
His final line was three runs on six hits over 3.0 IP. He struck out three and issued no walks.
Up Next
Join us for Game 2 tomorrow afternoon at 4:40 when Tomoyuki Sugano will face Brandon Williamson.