Both clubs arrived hot off wins, which made the 91-degree, partly sunny evening at Busch feel less like a formality than the records suggested. It played out that way — this one had a five-run swing, a two-error night from the home defense, and a finish that came down to the final outs.
Philadelphia built the cushion methodically: 2 in the second, 1 in the fifth, 1 in the seventh, then 2 more in the eighth to push it to 6-1. St. Louis had been dormant at the plate for six innings before erupting for 2 in the sixth and 3 in the eighth, an 8-hit, comeback bid that got the tying run to the plate before it ran out of runway. The Cardinals' 2 defensive errors didn't help matters in a game decided by 1 run.
Philadelphia enters the stretch run as a trade-deadline buyer after adding Luis Arraez, while St. Louis has been selling off pieces as it leans into a rebuild — a split-timeline dynamic that showed up in how each team played this one, with the Phillies pushing the lead and the Cardinals scrapping just to make it interesting.
It wasn't clean for either side. Philadelphia needed its bullpen to hold a 5-run lead down the stretch with Kilian already out, and St. Louis needed 8 hits and a furious 8th-inning rally just to make the final margin respectable. Neither storyline changes the standings much, but it was a lot more competitive than a buyer-seller mismatch had any business being.








