Vick completed 22-of-33 passes for 302 yards and two scores and ran 48 yards on 10 carries.
It was Vick's 2-yard touchdown run at the end of a 60-yard drive early in the fourth quarter that gave Philadelphia a 27-24 lead after Houston had gone in front with 14 third-period points.
The Texans were forced to punt on their next possession and Vick drove the Eagles 72 yards in eight plays, hitting Owen Schmitt with a 5-yard scoring pass that all but wrapped up the game with 4:18 remaining.
Philadelphia improved to 8-4 and took a half game lead at the top of the NFC East over the New York Giants. New York will host Washington Sunday.
Houston slipped to 5-7, a game-and-a-half behind Indianapolis and Jacksonville in the AFC South.
The Eagles took a 20-10 halftime lead, their first touchdown coming on a 1-yard throw from Vick to LeSean McCoy to finish off an 88-yard drive that used up nearly half the first period.
Houston rallied in the third period on touchdown runs of 13 and 3 yards by Arian Foster. Matt Schaub completed 22-of-36 for 337 yards and a pair of first-half touchdowns.