Rodriguez (13-9) allowed seven hits without a walk to win his fifth straight home decision. The 30-year-old left-hander came in with a 1.73 ERA at Minute Maid Park this season.
"I had a great breaking ball, just the whole game, it broke very good," Rodriguez said.
Lee (5-2), acquired from Cleveland on July 29, struggled for the second straight start after his eight-game winning streak ended against Atlanta on Saturday. The left-hander lasted only three innings in this one, giving up six runs and nine hits.
"It was just one of those days where everything they hit found a place," Lee said. "They were able to find all the open spots, and that was basically it."
Carlos Lee and Hunter Pence homered for the Astros, who won for the third time in 11 games.
Pence, Jeff Keppinger and Humberto Quintero singled off Lee with no outs in the second to load the bases for Rodriguez, an .098 hitter. Rodriguez fought Lee to a full count, then fouled off four straight pitches before lining a two-run double into the right-field corner.
"I looked for a fastball in that situation, he threw a fastball," Rodriguez said.
One out later, Kazuo Matsui doubled to left to make it 4-0. Lee, acquired from Cleveland on July 29, gave up more than three runs for just the sixth time in 29 starts in 2009.
Lee allowed a total of three runs in winning his first five starts with the Phillies. He gave up six runs on 10 hits in last weekend's loss to the Braves before his early exit on Friday.
Manager Charlie Manuel isn't worried.
"He is a pro and I know he can handle the pressure," Manuel said. "That is how he got out to 5-0 with us this year. I am not really concerned, it is just going to be a matter of him making his pitches."
Miguel Tejada led off the Houston half of the third with a bloop single to left and Pence followed with a home run to right, his 21st of the season. Lee has given up four homers in his last two outings after not allowing any in his previous six.
Jamie Moyer started the fourth inning for the Phillies. It was Lee's shortest outing since he gave up seven runs and 11 hits in three innings against the Chicago White Sox on June 30.
The Astros are out of the playoff hunt, but they've beaten some of the top pitchers in the NL this season - Josh Johnson, Matt Cain, Adam Wainwright and now Lee among them.
"You should rise up every day, regardless of who you're facing," said Houston manager Cecil Cooper. "Sometimes, when one of the tougher guys is out there, you do focus a little bit more, I think."
Carlos Lee led off the Houston fifth with a homer to left, his 23rd of the season.
Rodriguez struck out a batter in each of the first six innings. The Phillies loaded the bases with one out in the seventh, but Rodriguez got Jimmy Rollins to fly out before fanning Shane Victorino on a high fastball.
"Wandy's had a great year for us," Cooper said. "That's a pretty good hitting team on the other side. He really commanded the zone. He kept them off-balance."
Rodriguez threw 111 pitches and Tim Byrdak relieved for the eighth.
Aaron Boone, playing his first home game since open-heart surgery in March, was hit by Tyler Walker's pitch in the bottom of the eighth. He went to second on Michael Bourn's single and was thrown out at the plate trying to score on Matsui's single to center.
NOTES: Lee pitched fewer than six innings for only the fifth time this season. ... The Astros reached their highest run total in a home game since an 11-6 victory over St. Louis on July 21. ... The Phillies dropped to 19-9 against the NL Central this season.