Down by as many as 12 runs through 6 1/2 innings, the Astros scored the final five runs in falling to 57-79 on the season, but they're still three games ahead of the Rangers in the AL West.
"I love the way these guys battled," said Astros manager Bo Porter. "It's been our motto all year. Every at-bat counts. To put up those runs in the last few frames, those guys showed tremendous effort in the last three innings."
Jason Castro hit his 14th home run, and in consecutive games for the first time all season. But his seventh-inning homer just cut the Rangers' lead to 13-2.
Batting leadoff for the injured Robbie Grossman, Marwin Gonzalez had three of Houston's 13 hits. Jose Altuve, the league leader in hits, added two to give him 184 on the season. Dexter Fowler, who left the game for a pinch hitter in the seventh inning because of a nose injury incurred in the field, added two hits, as did Jake Marisnick, who made two outstanding defensive plays in the first inning.
Castro's homer chased Texas starter Scott Baker, who was impressive in his 6 1/3 innings.
Oberholtzer (4-10) wasn't nearly as effective as Baker (3-3), who allowed only two runs and six hits. Oberholtzer allowed seven runs and nine hits, two to No. 9 hitter Michael Choice, whose three-run home run in the fourth inning gave the Rangers a 6-1 lead. Choice, who came into the game batting .168, had hits in his first three at-bats. Choice was recalled from Triple-A Round Rock on Monday.
"I'm just going to forget about it," said Oberholtzer. "Put that start behind me. I wasn't hitting my spots, but they were putting pretty good swings on the ball.
"I walked the first batter of the game and it was downhill from there."
Daniel Robertson walked to open the game and the center fielder reached base three times. The Rangers totaled 16 hits, with Houston reliever Jake Buchanan allowing six runs (five earned) and six hits in 2 2/3 innings.
Rangers shortstop Adam Rosales had three hits and two RBIs. Choice and Rougned Odor had three RBIs each.
"You look at it as a night where we didn't pitch too well and they jumped out to a big lead," said Porter. "Put it behind you and come back tomorrow and go get them."
In addition to Choice's ninth home run, Oberholtzer gave up four doubles, including two-baggers to his final two batters. Adrian Beltre's ground-rule double that scored Alex Rios from second gave the Rangers a 7-1 lead, and chased Oberholtzer from the game with one out in the fifth inning.
"It was a night Obie didn't have it early and they jumped on him," said Porter. "You're hoping he can find it. It was just one of those nights. A bump in the road."
Oberholtzer was roughed up pretty good. The second inning was the only inning he retired the side in order. The left-hander struck out two and walked one. In four career starts against Texas, Oberholtzer is still looking for his first win against them. He came into Friday 0-2 lifetime versus the Rangers.
The Astros tied the game at 1 on Fowler's two-out single up the middle that scored Gonzalez, who led off the first inning with a single.
But it was all Texas, which had all nine starters record a hit. First baseman Ryan Rua, making his Major League debut, had his first Major League hit in a five-run seventh inning that included a three-run homer by Odor. Rua singled off Buchanan.
The Astros entered Friday with a 9-4 season series lead over the Rangers, having won eight of the previous nine games between the teams. The Astros won the first game of the four-game series, 4-2 on Thursday.
Trailing 2-1 in the fourth, Gonzalez was caught attempting to steal third base for the second out with the league's leading hitter Altuve at the plate. Gonzalez had reached second on a one-out double.
In right field, Marisnick made two gems in the first inning. One on a throw, the second on a catch to end the inning after a long run. Marisnick doubled up Elvis Andrus on a two-hop, throw on the money to third baseman Gregorio Petit, who applied the tag.
One batter later, Marisnick tracked down a ball hit by Beltre to right-center. In making the catch, Marisnick made contact on the bridge of Fowler's nose, right in front of the Houston bullpen. Jesus Guzman pinch hit for Fowler leading off the seventh.