The two-time NL champion Phillies fell three games behind idle Atlanta in the NL East and trail San Francisco by a half-game in the wild-card standings.
Rodriguez (10-12) allowed one run and five hits, striking out six. The left-hander is 7-2 with a 1.79 ERA since June 24.
The spoiler Astros got major contributions from three former Phillies - pitchers Brett Myers and J.A. Happ and All-Star outfielder Michael Bourn - to earn their first four-game sweep in Philadelphia since September 1999. They swept a four-game series from the Phillies in Houston last September.
The Astros have owned the Phillies in recent years. They are the only NL team with a winning record (30-16) against Philadelphia since 2004.
Phillies starter Kyle Kendrick (8-7) allowed four runs and nine hits in six innings. He's 1-2 with a 6.23 ERA in his last three starts.
Philadelphia has struggled against the lesser teams in the majors, going 21-19 against clubs that are 10 games or more below .500.
The Phillies' inconsistent offense is struggling again, scoring two runs or less in seven of the last eight games.
Rodriguez allowed only one baserunner on a walk until Jayson Werth lined a single to left to start Philadelphia's fifth. Raul Ibanez followed with a double, but Rodriguez pitched out of the no-out jam without allowing a run.
Shane Victorino struck out. Brian Schneider then lined out to right fielder Hunter Pence, who easily nailed Werth at the plate. The Phillies finally broke through in the fifth. Chase Utley lined an RBI double into the right-field corner to cut it to 4-1.
The Astros scored a run in each of the first four innings, getting key, two-out hits for the first two. Anderson Hernandez singled and scored on Lee's double to left in the first. Angel Sanchez singled and scored on Bourn's single to right in the second.
Lee connected with one out in the third, hitting a drive to deep left for his 18th homer and a 3-0 lead.
Sanchez led off the fourth with a double and scored when Rodriguez ripped a single off the scoreboard in right.
The speedy Bourn stole a run in the seventh. He reached on an infield single, stole second base despite getting picked off, and scored from second on an infield single.
Notes: The four-game losing streak is Philadelphia's longest at home this season. ... The Phillies had won their last eight day games. ... A crowd of 44,958 was the 107th straight sellout at Citizens Bank Park. ... The Astros are 16-7 in Philadelphia since the Phillies moved out of Veterans Stadium. It's the best record among NL teams. ... Phillies 1B Ryan Howard is 3 for 24 with 12 strikeouts since returning from an ankle injury.