The NL East leaders clinched at least a wild-card berth and will appear in the postseason for the fifth straight year. Philadelphia won the World Series in 2008 and took the NL pennant in 2009.
Once the club signed ace pitcher Cliff Lee last winter to round out a dominant rotation, another playoff berth for Philadelphia seemed a foregone conclusion.
The Phillies said this week there would be no champagne celebration for wrapping up the wild card, and when Halladay finished off Houston he and his teammates barely cracked a smile.
Phillies players and manager Charlie Manuel simply lined up for handshakes following their 95th win, just as if it were any other. The goal this season is a World Series championship, and anything short of that would hardly satisfy.
Philadelphia's magic number is four for clinching its fifth division title in a row.
The Phillies, who had lost three in a row, needed just a win over Houston or a loss by St. Louis on Wednesday to wrap up a playoff spot. The Cardinals beat Pittsburgh 3-2.
Shane Victorino doubled in the first inning and scored the only run on Placido Polanco's single to help Philadelphia avoid a three-game sweep.
Halladay (18-5) escaped trouble in the second and seventh, finishing with seven strikeouts and one walk for his first shutout of the season. The two-time Cy Young Award winner gave up six hits and threw 114 pitches for his eighth complete game of the year, tops in the NL.
Houston loaded the bases in the second on Polanco's error at third, a single by Brian Bogusevic and a bunt single by Jose Altuve. The threat ended quickly when Carlos Lee was forced at home and Humberto Quintero hit into a double play.
Halladay struck out pinch-hitter Matt Downs with a runner on second in the seventh to end that threat. Downs leads the majors with 12 pinch-hit RBIs.
The Phillies spoiled a strong seven innings by Bud Norris (6-10). Victorino doubled to start the game and scored on Polanco's single.
After that, Norris retired 15 batters in a row before escaping a one-out, bases-loaded jam in the sixth. He struck out Ryan Howard with a 94 mph fastball and Raul Ibanez flied out to end the inning.
Norris allowed four hits, struck out three and walked one.
NOTES: The Phillies are 17-24 at Minute Maid Park. ... The Astros are 32-21 against Philadelphia since 2004, the best record of any NL team against the Phillies. ... The Astros currently have 16 rookies - 10 pitchers and six position players. ... Philadelphia clinched a playoff spot in a franchise-best 146 games. The 1915 Phillies did it in 147 games.