Bichette’s clutch single lifts Mets past Nationals in pitchers’ duel
Sometimes a game doesn’t need fireworks. Sometimes all it needs is one well-timed swing and two dominant arms, and that’s exactly what Thursday’s matchup between the Mets and Nationals delivered at Nationals Park. New York prevailed 2-1 in a pitchers’ duel that served as a reminder that baseball, at its core, rewards efficiency and execution over spectacle.
Pitching Decisions
Star Performers
Bo Bichette was the unlikely hero, singling on a ground ball to center field in the third inning that plated both MJ Melendez and Luis Torrens. It wasn’t pretty. It wasn’t a towering home run. It was a single, a gap hit, and two runs that would ultimately decide everything. That’s baseball in 2026, folks. That’s winning.
Cavalli’s dominance goes unrewarded
Here’s where the narrative gets frustrating for Washington fans: Cade Cavalli was genuinely excellent Thursday night. The young right-hander scattered just four hits over seven innings while striking out nine batters. He walked only one. By any reasonable measure, that’s a quality start that should win ballgames. Instead, he got a loss, which tells you everything you need to know about the margins in professional baseball.
Cavalli’s only real mistake came in the third inning when he allowed Bichette’s single. The Nationals’ offense couldn’t generate enough to overcome that early deficit. They scraped together one run in the fifth when Andrés Chaparro‘s groundout scored Keibert Ruiz, but it simply wasn’t enough. The Nationals had chances to build on that momentum and couldn’t capitalize. That’s not on Cavalli. That’s on a lineup that just couldn’t execute when it mattered.
Peterson and Williams make it stick
David Peterson didn’t need to be brilliant for the Mets. He just needed to be competent, and he was. Five innings, four hits, one run, three strikeouts. He allowed three walks but escaped jams when he had to. It wasn’t a Cy Young-caliber performance, but it was professional baseball played at a high level.
Devin Williams entered with the game on the line in the ninth inning and struck out one while allowing just a single hit. That’s why closers make the money they make. That’s why teams pay for reliability. Williams did what he was supposed to do when the moment came. No drama. No theatrics. Just execution.
The Mets’ defense also deserves credit here. Mark Vientos made a diving stop that could have changed the game. Nasim Nuñez made a leaping catch that prevented extra bases. In a 2-1 game, those plays matter. They matter enormously.
Look, this wasn’t a classic pitchers’ duel like we’d see in October baseball. It was just two teams playing competent baseball, with one executing marginally better than the other for one inning. The Mets won because Bichette got a hit when it counted and because their relief corps shut the door. It’s not complicated. It’s just baseball.
Washington will rue this one. Cavalli threw nine strikeouts and still couldn’t get a win. That’s the cruelty of the sport. The Mets, meanwhile, will take the road victory and run. In May, a win is a win, and they got theirs on Thursday.
Box Score
New York Mets Batting
| Player | AB | R | H | RBI | BB | SO | AVG |
|---|---|---|---|---|---|---|---|
| Carson Benge RF | 5 | 0 | 1 | 0 | 0 | 2 | .262 |
| Bo Bichette SS | 4 | 0 | 1 | 2 | 0 | 2 | .225 |
| Juan Soto LF | 3 | 0 | 0 | 0 | 1 | 1 | .292 |
| Mark Vientos 1B | 4 | 0 | 0 | 0 | 0 | 2 | .233 |
| Brett Baty 3B | 4 | 0 | 2 | 0 | 0 | 0 | .240 |
| Marcus Semien 2B | 4 | 0 | 1 | 0 | 0 | 2 | .225 |
| A.J. Ewing CF | 2 | 0 | 0 | 0 | 1 | 2 | .276 |
| MJ Melendez DH | 2 | 1 | 0 | 0 | 0 | 1 | .219 |
| Luis Torrens C | 4 | 1 | 1 | 0 | 0 | 0 | .208 |
New York Mets Pitching
| Pitcher | IP | H | R | ER | BB | SO | ERA |
|---|---|---|---|---|---|---|---|
| David Peterson (W) | 5.0 | 4 | 1 | 1 | 3 | 3 | 5.03 |
| Huascar Brazobán | 1.0 | 0 | 0 | 0 | 0 | 0 | 1.78 |
| Brooks Raley | 1.0 | 0 | 0 | 0 | 0 | 2 | 1.40 |
| Luke Weaver | 1.0 | 0 | 0 | 0 | 1 | 1 | 3.38 |
| Devin Williams (SV) | 1.0 | 1 | 0 | 0 | 0 | 1 | 4.32 |
Washington Nationals Batting
| Player | AB | R | H | RBI | BB | SO | AVG |
|---|---|---|---|---|---|---|---|
| James Wood LF | 4 | 0 | 1 | 0 | 0 | 2 | .254 |
| Curtis Mead 1B | 4 | 0 | 0 | 0 | 0 | 1 | .225 |
| Andrés Chaparro 1B | 2 | 0 | 0 | 1 | 1 | 0 | .167 |
| Jorbit Vivas 3B | 1 | 0 | 0 | 0 | 0 | 1 | .239 |
| CJ Abrams SS | 2 | 0 | 0 | 0 | 2 | 0 | .297 |
| Dylan Crews RF | 3 | 0 | 0 | 0 | 1 | 0 | .182 |
| Daylen Lile DH | 4 | 0 | 2 | 0 | 0 | 1 | .269 |
| Jacob Young CF | 3 | 0 | 0 | 0 | 0 | 0 | .227 |
| Luis García Jr. PH | 1 | 0 | 0 | 0 | 0 | 0 | .260 |
| Nasim Nuñez 2B | 3 | 0 | 0 | 0 | 0 | 1 | .189 |
| José Tena PH | 1 | 0 | 0 | 0 | 0 | 1 | .245 |
| Keibert Ruiz C | 4 | 1 | 2 | 0 | 0 | 0 | .260 |
Washington Nationals Pitching
| Pitcher | IP | H | R | ER | BB | SO | ERA |
|---|---|---|---|---|---|---|---|
| Cade Cavalli (L) | 7.0 | 4 | 2 | 2 | 1 | 9 | 3.86 |
| Clayton Beeter | 1.0 | 0 | 0 | 0 | 1 | 2 | 3.18 |
| Orlando Ribalta | 1.0 | 2 | 0 | 0 | 0 | 1 | 1.80 |
