Foles completed 21-of-34 passes en route to 237 yards and remained without a pick-off on the season for the NFC East-leading Eagles (7-5), who won a fourth straight.
His third scoring strike of the game -- a 24-yarder to Zach Ertz early in the third quarter -- put Philadelphia ahead 24-7.
Carson Palmer, however, then completed TD passes to Michael Floyd and Jim Dray, pulling the Cardinals to within three points with 4:45 remaining.
The Cardinals (7-5) took over at their own 10-yard line with just over 2 minutes left, but Palmer's fourth-down pass to Floyd fell incomplete.
The Eagles took over on downs at the 15 with 1:51 to play and ran out the clock.
Ertz finished with five grabs for 68 yards and two touchdowns.
Palmer made good on 24-of-41 passes for 302 yards with three touchdowns and two interceptions for Arizona.