Derek Holland reached deep into the file of Things That Should Never Happen in the seventh inning Wednesday night.
The left-hander opened the frame by allowing a single that grazed his forearm and then walked the next two batters, all while nursing a two-run lead over the worst team in baseball.
Somehow, the Texas Rangers emerged with the lead.
Then Tanner Scheppers dipped into the same file an inning later, turning in one of the most bizarre innings by a Rangers pitcher in recent memory.
Somehow, the Rangers emerged lucky to be tied, and then, naturally, took advantage of the Houston Astros’ bullpen to complete a three-game sweep and add a game to their lead in the American League West.
Elvis Andrus’ bases-loaded sacrifice fly with one out in the ninth scored pinch runner Adam Rosales and sent the Rangers to a 5-4 walk-off win and a 2 1/2-game division lead over Oakland.
Craig Gentry homered, scored three runs and made a big catch in the sixth inning as the Rangers beat the Astros for the eighth straight time and improved to 14-2 against them this season.
But what should have been an easy night became a nail-biter late after Holland and Scheppers lost control and nearly lost the game.
“I was tense,” manager Ron Washington said. “We just kept battling, and things worked out for us in the ninth.”
Gentry’s second homer of the season tied the game at 1-1 to start the Rangers’ third, and they would add another run as left fielder Robbie Grossman misplayed an Adrian Beltre single and allowed Ian Kinsler to score from first.
Gentry walked to open the fifth and scored three batters later on a single by Kinsler, and the left fielder tracked down a Jose Altuve drive to end the sixth with Astros at first and second.
Holland opened the seventh at 80 pitches before Jason Castro’s single to center grazed Holland’s forearm. He stayed in the game and was ahead of Chris Carter 0-2 before walking him and throwing four straight balls to Matt Dominguez to load the bases.
“I couldn’t settle myself down from being hit,” Holland said. “It got me pretty good, but I’m fine.”
Joakim Soria entered, and the Rangers exchanged a run for a double-play grounder and got out of the inning up 3-2.
Gentry sparked the Rangers again in their half, going to second on an error to start the inning and moving to third on a bunt by Leonys Martin. Andrus brought in Gentry with a perfect suicide squeeze and a 4-2 lead.
Grossman singled past Scheppers to start the eight, but no harm was done as L.J. Hoes bounced into a double play. But Jose Altuve kept the inning going with a bloop single and went to second on a wild pitch before Castro walked.
After another wild pitch, Carter’s blooper to left field just eluded Andrus for an RBI single.
Scheppers’ next two pitches — also his last two — were fastballs that hit Dominguez to load the bases and Max Stassi to force home the tying run. The ball to Stassi deflected off his shoulder and into his face, and he was forced to an area hospital for observation.
“You never want to hurt someone like that,” Scheppers said. “It’s definitely unfortunate. It’s kind of one of those pitches that just got away.”
Fortunately for the Rangers, the injury time gave Jason Frasor enough time to get warm, and he got the final out after replacing Scheppers.
The impact of Soria and Frasor, two veteran relievers, wasn’t forgotten after the game.
“They’ve been in tight situations, and they know how to handle them,” Washington said. “It’s very comforting, and you can’t say enough about experience.”
Joe Nathan (4-2) restored order with a scoreless ninth inning to give the Rangers a chance at their fifth walk-off win.
Mitch Moreland started the inning with a single against the hard-throwing Chia-Jen Lo, who then walked Jurickson Profar to push pinch runner Rosales to second. Gentry popped out, but Martin walked to give Andrus a shot.
The shortstop lifted a flyball over a five-man Astros infield to medium left field, and Rosales dived home safely ahead of the high throw from Grossman.
Sweep completed. Lead padded. Meltdown averted.
“We play inning by inning, and we’re not going to take any game for granted,” Andrus said. “From now on every game is going to be important. What we need is to play hard and keep winning series.”