Nelson Cruz's base hit in the fifth inning scored Ian Kinsler with the go-ahead run in a 5-4 victory over Houston on Sunday in front of 36,746 at Rangers Ballpark in Arlington.
Texas won two of three in the weekend series.
A.J. Pierzynski hit a three-run home run in the first, and Adrian Beltre smacked his fourth home run in four days, a solo shot to left in the third inning.
Starter Justin Grimm failed to work more than four innings for a second consecutive start, giving up six hits and four runs – three earned – over four innings.
But five Rangers relievers held the Astros scoreless over five innings, including Cory Burns, who earned the victory on his first day back with the team since a recall from Triple A Round Rock, and Joakim Soria, activated on Sunday morning from the 60-day disabled list.
Both pitched scoreless innings, as did Neal Cotts in the eighth.
Joe Nathan worked a perfect ninth to register his 29th save.
Mark Krauss had a two-run home run for Houston, which used two errors, by Grimm and third baseman Jurickson Profar, to score the tying run in the top of the fifth.
Brandon Barnes advanced to third when Grimm's pickoff attempt went wild and into center field. Barnes scored when Profar couldn't handle Pierzynski's pickoff attempt from behind the plate.
Kinsler led off the fifth by reaching on an error by Houston second baseman Jose Altuve, who allowed the ground ball to go under his glove and into right field.
Kinsler's run was unearned against Astros starter Erik Bedard, who pitched 6 1/3 innings, giving up five hits and five walks. He had four strikeouts.
Elvis Andrus reached base three times, including two walks.