A.J. Pierzynski's three-run homer in the first inning gave Texas an early lead but Houston battled back to forge a 4-4 tie in the top of the fifth.
Cory Burns (1-0), the first of five Rangers relievers, pitched a scoreless top of the fifth to earn the decision, while Joakim Soria, Jason Frasor and Neal Cotts teamed up for three more scoreless frames.
Joe Nathan secured the win with his 29th save as Texas took two-of-three games from Houston and remained a half-game behind American League West-leading Oakland.
Erik Bedard (3-5) took the loss for the Astros, allowing five runs on five hits over 6 1/3 innings.
Marc Krauss belted a two-run homer and J.D. Martinez went 3-for-4 with an RBI for Houston.