Derek Holland did not pitch well Wednesday night, and he knew it.
The left-hander struggled for a second straight outing, and a Rangers' rally fell short.
Jose Altuve and Alex Bregman both left with injuries, but George Springer and Teoscar Hernandez homered and the Houston Astros helped their fading playoff hopes with an 8-4 win over the Rangers.
Holland (7-8) allowed five runs and seven hits in 5⅓ innings.
"I have to do better," Holland said. "Not pleased with what happened today. It's frustrating."
Holland was announced as the starter after Tuesday night's game, with original starter Yu Darvish moved to start Saturday. Holland refused to use the on-again, off-again nature of the start as a reason for his struggles.
"I just didn't perform today," Holland said. "It's no excuse to use that in there. I was called upon. I just didn't do my job."
Altuve exited after the fourth with right oblique discomfort, and Bregman was pulled in the sixth with right hamstring discomfort. Both will be evaluated Thursday.
Texas still holds a three-game lead over Cleveland for the best record in the AL.
Houston snapped a three-game losing streak and closed within 3.5 games of Toronto for the second AL wild card.
Hernandez gave the Astros a 3-1 lead with a two-run homer off the facade in left-center in the second. Springer led off the first with his 27th home run to tie it at 1.
The Astros got just their fourth win in 19 games against the Rangers this season.
Houston built a 5-1 lead, but the Rangers closed within one on Nomar Mazara's two-run homer in the seventh and Jonathan Lucroy's RBI single in the eighth.
"Attribute that to the way we play," Rangers manager Jeff Banister said. "Our guys continue to grind through it. We have a comeback plan when we get down and our guys I felt like they were continuing to put that in play. We got it within one, felt like if we could keep it right there we have a shot."
After the Rangers closed within 5-4, Marwin Gonzalez hit a two-run single and Jake Marisnick had an RBI single in the eighth to extend the lead to four.
Joe Musgrove (3-4) allowed three runs and five hits with seven strikeouts in 6⅓ innings. The rookie right-hander retired 14 of 15 batters at one point
Altuve entered leading the AL in hitting with a .340 average to go with 24 home runs and 94 RBIs. The second baseman also leads the AL in hits with 196. He was 1 for 2 with a double before being lifted.
Bregman, a rookie third baseman batting .260 with eight homers, limped into third in the sixth inning after stopping and starting on Tyler White's groundout. Bregman tried to walk it off, but he was lifted for pinch-runner Tony Kemp and limped off the field.
Super Utility Man Gonzalez
Gonzalez played three positions while the banged-up Astros shuffled their infield. He started out at first base, moved to second base following Altuve's exit and then went to third base following Bregman's departure. After the seventh, Gonzalez moved back to second. Gonzalez has also played shortstop and in the outfield this season.
Springer Ties Biggio
Springer got his eighth leadoff homer of the season, tying Craig Biggio for the club record, which the Hall of Famer set in 2001.
Rangers: LHP Cole Hamels (14-5) makes his 30th start of the season Friday night against Oakland. The left-hander allowed two runs in six innings in his last start Saturday against the Angels.
Astros: RHP Collin McHugh (10-10) makes his 30th start of the season Friday in Seattle looking for his fourth straight win. McHugh is 8-3 with a 4.39 ERA in his career against the Mariners, including a 3-0 record this season with a 1.50 ERA.