Javier made a three-hit night feel even smaller

There are nights when six innings of one-run ball are just bookkeeping, and nights when they set the whole table. Cristian Javier gave Houston the second kind: 6.0 innings, three hits, one walk, five strikeouts, 79 pitches. That matters because Philadelphia never forced him into a roomy game. Its only run came in the fifth, when Luis Arraez singled, Alec Bohm doubled, and Bryson Stott brought Arraez home on a fielder’s choice that also erased Bohm at third. Outside that inning, the Phillies grounded into double plays in the first and fifth and finished with three hits total.

That is not domination in the highlight-reel sense. It is run prevention with very little waste. Taylor Trammell’s two-out RBI double in the second gave Houston a 1-0 lead, and Javier handled the afternoon like that run might need to last. It almost did. When a road starter gives you six innings and the other club can only scratch out one run on three hits, he has already done the hard part of the assignment. From there, the game stops being about traffic and starts being about which side can keep the score pinned long enough to find one honest swing.

Wheeler’s seventh kept the tie intact and the handoff clean

Zack Wheeler deserved better than to have this game reduced to the ninth, because his biggest out came two innings earlier. By the seventh, he had already kept Houston from adding to the Trammell run, but the inning still got loud in a hurry. Jose Altuve singled to open it. Daulton Varsho’s flyout and Christian Walker’s groundout pushed the runner along rather than clearing the mess. Cam Smith walked with two outs. Taylor Trammell walked after him. Now the bases were loaded, Wheeler was at 105 pitches, and one more miss would have rewritten the whole line.

He answered with a five-pitch plate appearance against Yainer Diaz and finished it with an 82.3 mph sweeper for a swinging strike three. That kept the game tied 1-1 and preserved a start that was more than sturdy: 7.0 innings, five hits, one run, two walks, nine strikeouts on 110 pitches. He also struck out Yordan Alvarez in all three of Alvarez’s plate appearances, which tells you how much damage Wheeler prevented before the seventh ever arrived.

That strikeout did more than save Wheeler’s line. It preserved Philadelphia’s options. A tie game at the inning break is one problem; a bases-loaded inning that gets away from you is a different, louder one. Wheeler left the Phillies the cleaner version.

Smith found the one clean swing, and Houston protected it properly

Once Wheeler wriggled out of the seventh, this was the kind of game that waits for one clean swing and lets that decide the paperwork. Houston found it first. With one out in the top of the ninth, Cam Smith got a first-pitch splitter from Jhoan Duran at 98.5 mph, in the zone, and drove it to center at 105.7 mph for a 421-foot home run. That broke the 1-1 tie, and because nothing came back at Houston afterward, it became the game-winning run.

The rest of the Astros’ work was the sort of late handling clubs spend all year trying to script. Bennett Sousa, Bryan Abreu and Josh Hader combined for 3.0 hitless, scoreless innings with four strikeouts and no walks. Hader took the ninth with the lead and retired Edmundo Sosa, Kyle Schwarber and Trea Turner in order on eight pitches for the save.

That is the clean version of a tight road win. Your starter gives you six sturdy innings, one hitter cashes the loudest swing of the night, and the bullpen refuses to turn the last page back.

When the game gets this thin, one swing is enough

Philadelphia got seven innings and nine strikeouts from Wheeler, plus the kind of seventh-inning escape that usually buys a club time to answer. Houston got Javier’s six innings, Trammell’s early RBI double, and then Smith’s ninth-inning hammer. Once Hader finished the last three outs, the shape of it was plain enough.

The Astros kept the score thin, survived the only dangerous inning they handed Wheeler late, and owned the only clean swing left. In a 2-1 game, that is not a small detail. That is the whole job.