This contract replaces the long-term contract Vick had signed in 2011 and he now is scheduled to be a free agent after next season.
But this season he will quarterback new coach Chip Kelly's offense. Kelly will address the media at a news conference later Tuesday.
"I feel like this is the perfect situation for me. After talking with Chip and looking at the offense, I wanted to be here," Vick told Yahoo! Sports.
He was scheduled to make $15.5 million in base salary in 2013 under the six-year, $100 million extension he signed with the team in 2011.
Vick, who turns 33 in June, passed for 2,362 yards, 12 touchdowns and 10 interceptions in 10 games last season, his fourth with the Eagles.
The Eagles finished 4-12 and in last place in the NFC East. Andy Reid was fired as coach the day after the season ended, and Kelly was hired last month.
Vick seems equipped to run Kelly's aggressive, up-tempo offense that he is bringing to the Eagles from Oregon.
Vick was signed by Philadelphia in 2009, and became the starter in 2010. He led the Eagles that season to an NFC East title, and a memorable 38-31 December win over the Giants in which he rallied the team from a 21-point deficit.
All told, Vick has started 35 games for Philadelphia over the last three seasons. Foles has started six. The Eagles scored just 280 points last season as they endured an eight- and a three-game losing streak. Only Arizona (250) scored fewer in the NFC.
Information from The Associated Press was used in this report.