There is always baseball happening — almost too much baseball for one person to follow themselves.
Don’t worry, we’re here to help you by figuring out what you missed but shouldn’t have. Here are all the best moments from last night in Major League Baseball:
Dansby Swanson didn’t sweep the Mets on his own, but it must have felt that way watching those games. On Tuesday, the Cubs’ shortstop had two hits — a double and a homer — and four RBIs to help Chicago top New York, 9-6. On Wednesday, the pair played a doubleheader, and it was all Cubs — and all Swanson — all the time.
With the first game of the doubleheader tied 3-3 in the top of the sixth, Swanson strode to the plate with second baseman Nico Hoerner and catcher Miguel Amaya already on base. The normally reliable Nolan McLean left a 95.5 mph fastball middle-middle for Swanson, who deposited the ball 400 feet away, over the fence in center — 6-3, Cubs.
Swanson would come to the plate again in the eighth, against reliever Jonathan Pintaro. Hoerner and Amaya were on base again, as was left fielder Ian Happ. The baserunner situation was ever-so-slightly different, and so was the outcome. For instance, instead of a four-seam fastball, this time it was a cutter left over the middle of the zone, and instead of a three-run homer, Swanson blasted a grand slam. Oh, and it went 418 feet to center instead of 400 feet. See? Different!
That was seven RBIs in one game for Swanson, in what ended up being a 10-3 W for the Cubs. Chicago and New York would then play a second game, and that, too, was more of the same. In the top of the fourth, Swanson hit a fly ball to left off of starter Sean Manaea for a single, scoring catcher Carson Kelly to tie the game up at 3-3. Swanson would then come up to bat in the sixth, with the score now tied 4-4, and he untied it with an RBI triple.
Swanson would also come around to score later in the inning — 6-4, Cubs — and then make it 11 RBIs for the day in the ninth with Chicago already ahead, 8-5. Here, Swanson notched a two-run single, giving the Cubs their second 10-run game of the day.
All told in this three-game series, Swanson went 7-for-12 with a double, a triple, three homers, four runs and 15 RBIs. His OPS for the season jumped from .617 to .688 in a matter of two days, and it’s not like he’s been missing time, either: Swanson has played in 76 of the Cubs’ 79 games. He was just that good against the Mets, that, in three games, he could make that much of a difference in his season stats.
In fact, Swanson — who has spent much of 2026 struggling — now has a 96 OPS+, and thanks to his defense has been worth 2.3 wins above replacement despite batting .202. He’s 10-for-10 on steals, he’s still managing to get on base thanks to walks and he’s hitting for power, at least relative to his batting average. He’s basically in line with the average shortstop offensively, and is playing his usual quality defense. He’s not an offensive force anymore, like he was for a bit there with the Braves, but he’s once again looking like Dansby Swanson after this series, and that’s a pretty good ballplayer.
Dodgers’ shortstop Mookie Betts reached a major career milestone on Wednesday, when Los Angeles wrapped up a sweep against the Twins with a 4-3 dub. In the top of the second, Betts hit a solo homer to put the Dodgers on the board, and it was No. 300 for his career.
Twins’ starter Joe Ryan left a 95 mph four-seamer up in the zone, and Betts gave it a lift over the fence in left-center. He’s now also just three steals from 200 stolen bases, which would put him on the relatively short list of players to manage to have at least 300 homers, 200 steals and 400 doubles — Betts is already at 401 two-baggers, so three more thefts and he’s the 19th player to manage this.
Betts’ bat might actually be waking up overall in the present. Over his last 11 games and 48 plate appearances, he’s hitting .378/.417/.644 with three doubles and three homers — if the ball is starting to fly off his bat again, and he keeps on playing the high-quality defense he has been at shortstop since making the switch there, then that’s great news for both Betts and the Dodgers.
This one didn’t require a walk-off or a shutout — the Padres beat the Braves with a little less fanfare than that, 5-2. That secured a series sweep for San Diego, and with the Phillies winning — more on that shortly — Atlanta’s NL East lead is down to 4.5 games. The Padres are still nine back of the Dodgers in the NL West, but San Diego did pick up half-a-game on a wild-card spot, and are going to need every win it can muster before the season ends considering how competitive that particular race is.
First baseman Ty France struck first when he hit his ninth homer of the year in the bottom of the third, putting San Diego up, 1-0. He crushed this one, too, 417 feet left off of Martín Pérez.
In the fifth, with second baseman Fernando Tatis Jr. and catcher Samad Taylor on base, shortstop Xander Bogaerts hit a fly ball to center exactly where no one could get to it in time. Center fielder Michael Harris II maybe could have had a shot at it usually, but he was playing too deep, and Bogaerts doinked it more than drilled it.
Catcher Joey Bart cut the lead to one run with a two-run homer the next half-inning, but the Padres would respond in the bottom of the sixth. Taylor came up with a pair of runners on, and drove them both in with a single off reliever Tyler Kinley.
That was it for the scoring, and the San Diego bullpen would hold the Braves the rest of the way, even without closer Mason Miller having to get involved. Next up for the Padres? Those terrifying Dodgers, while the Braves hope to find the Giants less of a problem than San Diego was.
Surely after coming back on two separate occasions on Tuesday, the Phillies wouldn’t have another comeback left in the tank on Wednesday against the Nationals, right? Wrong! Down 4-3 in the ninth, and down to not just their last out but also their final strike, the Phillies made it happen once more. Derek Hill came in as a pinch-hitter with third baseman Garrett Stubbs already on base, and he delivered what would prove to be the game-winning homer.
Richard Lovelady threw a fastball that caught way too much of the middle of the zone, and while Hill didn’t destroy that mistake, he still drove it 382 feet away, over the fence in right-center. With a lead in hand, Seth Johnson was removed from the game in favor of closer Jhoan Duran — the Phillies’ sixth pitcher of the contest — and he struck out the side without allowing a baserunner.
Philadelphia really could have had a disaster of a series here against Washington, which sat just 1.5 games back of the Phillies’ wild-card spot following a win in Monday’s opener. Instead, they fought back, repeatedly, on Tuesday to even up the four-game set by scoring eight runs with two outs in the ninth, and then on Wednesday got a ninth-inning, pinch-hit dinger to guarantee at least a split. The two face off again on Thursday, and the Nats might want to try not being ahead until the bottom of the ninth, just to be safe.
The Rays downed the Royals, 5-3, and they got there with a little help from leadoff hitter and DH, Yandy Díaz. For one, he went 4-for-5, but one of those hits also drove in a run. And that RBI was the 447th of his Rays’ tenure, which tied the franchise record held by former outfielder B.J. Upton.
Díaz is leading the American League in batting average, and after his four-hit night is at .332/.414/.512 for the season. There’s a lot of 2026 left, but he’s been almost exactly as good as he was in his previous best campaign — this one might end up being his best-ever season if he can keep it going.
Frankly this feels like the kind of thing that happens to the Angels instead of benefitting them, but since it happened to the Orioles, instead, the universe still feels like it’s maintaining a proper balance.
In the boxscore, catcher Logan O’Hoppe merely picked up his first hit of the game after coming in as a defensive replacement, and drove in the winning run. What happened is much goofier than that, though: O’Hoppe didn’t mean to hit this ball at all, and it went exactly where it probably should not have, since Nolan Schanuel was running in from third base to attempt to score and could be tagged by Samuel Basallo. Schanuel managed to get around Basallo without leaving the baseline, though, and the Angels would win because of it.
Tigers’ ace Tarik Skubal doesn’t give up homers very often — you don’t usually win back-to-back Cy Young awards if you do. He gives up multiple homers in a game even less. And multiple homers to the same player? You’re not going to believe this, but that’s an even rarer occurrence. That didn’t stop Yankees’ DH Paul Goldschmidt on Wednesday, though. He took Skubal yard in the top of the first for his 13th dinger of the year…
…and then hit No. 14 in the top of the third. This second one was crushed, too, with Goldschmidt hitting it off the bat at 105 mph while sending it 427 feet to left-center.
Those two long balls ended up being the difference in a 4-2 win for the Yankees, but amazingly enough, Skubal gave up another one, too: this one came in the sixth, courtesy right fielder Jasson Domínguez, his third of 2026.
Heading into the seventh inning, the Rockies were losing to the Red Sox, 6-3, in the rubber game of their series in Colorado. Ranger Suarez pitched a good game for Boston, going six innings with three runs allowed and nine strikeouts against a walk, but the bullpen did not have the same kind of success. Tyron Guerrero got a hold, officially, but he allowed three unearned runs in the seventh inning that let the Rockies tie the game. Guerrero hit Tyler Freeman with a pitch after securing the first out, then catcher Hunter Goodman reached on a fielder’s choice, with Freeman making it to second on a throwing error by shortstop Marcelo Mayer. Rookie center fielder Cole Carrigg capitalized by driving in the first run with a single…
…and outfielder Jake McCarthy singled in a second unearned run, followed by a third off the bat of pinch-hitter Troy Johnston.
In the eighth, the Red Sox put Justin Slaten on the mound hoping for a different result. They did not get it. Mickey Moniak came on as a pinch-hitter and singled, then infielder Willi Castro sent him to third with a single of his own. Freeman ended up making an out, but in service of a sacrifice to get Moniak across the plate — 7-6, Rockies, and two outs to go.
First baseman TJ Rumfield singled, putting Castro 90 feet from the plate, and then Carrigg made his presence felt again, this time with a double.
The Sox would go down in order in the top of the ninth, and that was the series.
The Giants and Athletics played seven full innings where all that occurred was pitching and defense. The two starters, Gage Jump for the A’s and Tyler Mahle for San Francisco, combined for 10 ⅔ innings of scoreless baseball with 13 strikeouts, three walks and five hits, and then the bullpens turned those performances into a trend. Briefly, anyway: in the eighth, A’s third baseman Max Muncy finally broke the scoreless tie with a 416-foot solo homer.
Things could have been worse for the Giants, however. In the top of the ninth, the A’s threatened with two runners on and pinch-hitter Jonah Heim at the plate. Heim saw one pitch, a 96 mph fastball over the middle, and drove it to right field. It didn’t have enough on it to leave the park, but it absolutely would have scored at least one run, if not two… if not for Jung Hoo Lee’s running catch in the corner.
This mattered for obvious reasons in the moment, but even more so afterward. In the bottom of the ninth, the Giants finally scored. Designated hitter Rafael Devers led off the inning, and did so by crushing a 99-mph fastball, sending it 416 feet to center with an exit velocity of 106 mph.
Elvis Alvarado would get the next two batters to fly out harmlessly, leaving the A’s one out from getting a chance to go ahead again in extra innings. They would not get it: left fielder Victor Bericoto demolished a middle-middle slider 445 feet to center field.
The Giants have now won the first two games of this series, while the Athletics have dropped four in a row since getting back to .500. San Francisco will go for the sweep on Thursday afternoon.








