Michael Bourn's bases-loaded walk in the seventh drove in the deciding run and Miguel Tejada scored twice for the Astros, who swept a four-game set against the Phillies for the first time in 10 years.
Ryan Howard went 3-for-4 with a solo homer and two RBI and Raul Ibanez hit a home run for the Phillies, who have lost five of six.
Jamie Moyer, making his first start since Aug. 9, went six innings and was charged with just two runs on three hits.
Chan Ho Park (3-3) took the loss after giving up back-to-back doubles by Tejada and Pence.
Ohio bar shooting arrested, charged with murder
Duggar sisters unveil Christian dating rules in new book