The agreement, reached Thursday, begins with the 2009-2010 season and extends through the 2015-16 season.
It will pay the four-year NHL veteran an average of $8.25 million annually.
"This is a great day for hockey in the Carolinas, to know that our franchise player will be with us for at least another eight seasons," said Hurricanes President and General Manager Jim Rutherford in a statement on the team's Web site. "Eric has been a special player for us right from the start. We know that he is just coming into his prime right now, and will continue to grow as a player."
Last season, the 23-year-old Staal led the Hurricanes in goals (38), assists (44), points (82), games played (82), game-winning goals (7), power-play goals (14), power-play points (35), shots (310), takeaways (56) and total time on ice (1,774).