Jason Michaels homered and drove in three runs and Rodriguez and three relievers combined on a four-hitter as the Astros snapped an eight-game home losing streak with a 7-0 win over the Texas Rangers.
"We needed a win because we've had some bad games and tonight we feel great ... because we win," Rodriguez said.
Carlos Lee homered for the second straight day in the fourth inning and Chris Johnson drove in two runs in Houston's four-run fifth as the Astros won at Minute Maid Park for the first time since June 13.
Michaels drove in a run in the fifth before pushing the lead to 7-0 with his two-run shot to left in the seventh.
"It was a good win all the way around," said Michaels, who took advantage of a rare start.
Rodriguez (6-4) allowed four hits and struck out four in seven innings. David Carpenter pitched a perfect eighth in his major league debut after being called up from Triple-A Oklahoma City on Wednesday. Fernando Abad and Mark Melancon combined on a scoreless ninth.
"To have a game like we did tonight was huge for this team," Houston's Clint Barmes said. "It's definitely been a grind this year. Wandy throwing the ball as well as he did was huge for us and it was a lot of fun for us to swing the bats and score some runs."
Elvis Andrus had two hits for the Rangers in his return after missing the past four games with a sprained left wrist.
"Before I got hurt, I was swinging the [bat] pretty good, so today it was really good for me that my timing was still there," he said.
Texas starter Matt Harrison (6-7) yielded seven hits and five runs in six innings.
Harrison plunked Michael Bourn on the right forearm with one out in the fifth inning before he advanced to second on a groundout by Angel Sanchez. Bourn scored to make it 2-0 before Harrison intentionally walked Lee.
A ground-rule RBI double by Michaels stretched the lead to 3-0. The ball bounced just fair in the right-field corner before sailing into the stands and pinging off the tray of a snow cone vendor and back onto the field.
Johnson followed with a two-run single to shallow center to make it 5-0. Harrison finally got out of the inning when Barmes grounded into a forceout.
The only real trouble for Rodriguez came in the third inning.
"I worked a lot in that inning," Rodriguez said. "I tried to make a good pitch to Beltre and he got the fly ball to right field and finished the inning."
Texas manager Ron Washington praised the work of Rodriguez.
"Early in the game, we had him on the ropes, and we couldn't get the hit," Washington said. "He moved his fastball around ... he had a really good breaking ball. He had a couple good changeups, too. What he did to us tonight, he's capable of doing. We certainly had some chances, but we didn't cash them in."
He retired six straight after that before Andrus walked to start the sixth inning. He still faced the minimum in that inning thanks to Houston turning a double play. David Murphy singled with one out in the seventh but Houston turned another double play to end that inning.
"Those double plays were huge," Houston manager Brad Mills said. "They kept Wandy from getting in more trouble."
Hamilton robbed the Astros of hits with two nifty catches in the seventh inning. He made a leaping catch near the wall in left on a ball hit by Lee before diving to snag a ball hit by Johnson later in the inning. He turned and smiled while still on the ground before getting up and removing grass that got stuck in his belt during the second catch.
Houston's victory broke a string of eight straight wins at Minute Maid Park for the Rangers.
Houston 2B Jeff Keppinger was scratched about 90 minutes before Thursday's game with nausea. He was replaced in the lineup by Sanchez. ... Astros reliever Brandon Lyon had surgery on Thursday to repair the detachment of his right biceps tendon and repair his labrum. He is expected to miss the rest of the season. ... Texas C/1B Mike Napoli, on the DL with a strained left oblique muscle, began a rehabilitation assignment with Triple-A Round Rock on Thursday. He is expected to play four games there. ... J.R. Towles started at catcher for the first time since leaving Friday's game with a gash on his chin that required 11 stitches.