The contract is worth $15 million, a league source told ESPN NFL Insider Adam Schefter.
The signing was announced Thursday by general manager Ted Thompson, who drafted Finley in the third round in 2008.
Finley posted a message on his Twitter account Wednesday night appearing to confirm that he had agreed to return to the team. Finley wrote, "I could not be happier to have the privilege of being a Packer for the next 2 yrs. Glad to be back with my team & coaches for 1 common goal."
Finley was set to become a free agent, and the team was expected to consider using the franchise tag on him.
The 6-foot-5, 247-pound Finley is one of the NFL's most athletic tight ends, able to run and cut like a wide receiver.
The 24-year-old Finley bounced back from an injury-plagued 2010 season to play all 16 games last season, catching 55 passes for 767 yards and eight touchdowns.
He played in 32 regular-season games in his first three years, missing most of the Packers' 2010 championship season with a knee injury.
Information from The Associated Press was used in this report.