HOUSTON — Tyler O’Neill spent most of his Orioles tenure looking like a guy who left his bat in another zip code. On Saturday night, he found it — and brought his arm along for the ride.
O’Neill made a game-saving throw from right field to cut down Nick Allen at the plate in the bottom of the 10th inning, then beat out an infield single in the 11th to drive in the go-ahead run, as the Baltimore Orioles outlasted the Houston Astros 4-2 for their sixth consecutive victory.
The win pushes Baltimore to 48-51, just 1½ games back of the third American League wild-card spot. The Astros have dropped three straight and six of eight.
For nine innings, this game had the texture of a stale pretzel. Baltimore’s top five hitters went a combined 0-for-19. Gunnar Henderson, still searching for his swing after the All-Star break, went 0-for-5 and is hitless in the series. The Orioles managed exactly one run through regulation — a Dylan Beavers RBI double in the fourth off Houston starter Spencer Arrighetti, who walked four in five innings but somehow kept the damage to a single tally.
Trevor Rogers deserved better. The left-hander gave the Orioles 6⅓ innings of one-run ball, striking out a season-high eight and stranding seven runners. Over his last six starts, Rogers owns a 1.23 ERA. He left with runners on the corners in the seventh, and Houston tied it on Allen’s squeeze bunt against reliever Rico Garcia.
Baltimore nudged ahead 2-1 in the 10th on a safety squeeze by pinch-hitter Jeremiah Jackson, scoring the automatic runner. Then the bottom of the frame turned into something that should’ve ended the game three times over.

Yordan Alvarez ripped an RBI double to tie it. A throwing error by Henderson loaded the bases with nobody out. Manager Craig Albernaz pulled center fielder Leody Taveras into a five-man infield, leaving two outfielders to cover the entire grass. The Astros needed a fly ball, a grounder, a wild pitch — anything. They got none of it.
Jose Altuve lofted a shallow fly to center. O’Neill ranged over from right, caught it, and fired home while falling backward. The throw sailed slightly up the third-base line, but catcher Samuel Basallo snagged it and tagged Allen sliding past. Double play. LaMonte Wade Jr. then tried a two-out bunt for a hit, but Andrew Kittredge (1-1) barehanded it and whipped a throw to first to end the threat.
In the 11th, Gunnar Henderson started on second as the automatic runner. Taylor Ward drew a leadoff walk. Enyel De Los Santos (0-3) struck out Pete Alonso and Basallo, and the Astros were one out from escaping. O’Neill hit a routine grounder to second, but Altuve was slow to react, and O’Neill — clocked at 29.3 feet per second, a speed that would’ve surprised anyone who’s watched him lumber through this season — beat the throw. Henderson never stopped running and scored easily. Taveras followed with an RBI single to make it 4-2.
Cam Sanders, in his second game as an Oriole, retired the side in order in the bottom of the 11th for his first major league save. He earned his first big-league win the night before. Not a bad weekend for the new guy.

During the game, the Orioles announced a five-year, $90 million contract extension for right-hander Kyle Bradish — the largest deal for a pitcher in franchise history. Bradish starts Sunday’s series finale against Houston’s Hunter Brown (1-0, 3.57 ERA).
Houston shortstop Jeremy Peña exited in the third inning with right hamstring cramping, and first baseman Christian Walker left in the fourth with right hip tightness. Manager Joe Espada said both will undergo imaging.
Sources
Yahoo Sports (AP)
Yahoo Sports (Orioles recap)
Yahoo Sports (Orioles analysis)