The Rangers plated seven runs in the first three innings to support Derek Holland (6-2), who limited the Astros to three runs in 7 1/3 innings. He gave up six hits, walked three and struck out four.
Adrian Beltre finished with three hits and two RBI for Texas, which has won three of four.
J.A. Happ (3-9) allowed the seven early runs — five of which were earned — as the Astros fell to 6-13 in June.
Texas’ scoring burst began in the first inning, when Ian Kinsler reached on a fielding error by third baseman Chris Johnson and moved to second on Hamilton’s one-out single.
Beltre followed with a single to left to plate Kinsler, and Michael Young crushed a fly ball to the left-center gap. Michael Bourn just missed making a diving catch, allowing Hamilton to score and Young to land on second.
Nelson Cruz’s sacrifice fly made it a 3-0 game.
The Rangers tacked on three more runs in the second inning, after putting two on with two away. Hamilton belted a pitch deep to left-center, and again Bourn tracked the ball. But he couldn’t make the catch as he hit the wall, and Hamilton got around the bases to third.
Beltre’s subsequent single put Texas up 6-0, while Craig Gentry’s RBI double in the third chased Happ.
Houston got on the scoreboard in the fourth, when Carlos Lee hit a sacrifice fly and Jason Michaels added an RBI single. But Holland limited the damage to those two runs.
He gave up two singles in the eighth before being pulled, and Mark Lowe gave up a run-scoring base hit to Michaels before getting out of the inning.
Mitch Moreland began the bottom half with his ninth homer of the season.
In a season-low 2 2/3 innings, Happ gave up eight hits and walked one. He has dropped his last five decisions…Gentry also finished with three hits for the Rangers…Texas is 11-2 vs. Houston since the start of the 2009 season.