The deal starts next season and runs through the 2012-13 season. Staal, who recently became the youngest player to appear in 200 NHL games, will play the rest of this season under the three-year entry level contract he signed after being the No. 2 pick in the 2006 draft.
Staal will make $3.5 million in each of the first two seasons and $4.5 million in each of the final two. The contract will count $4 million against the Penguins' salary cap each season.
Staal has 53 goals and 39 assists for 92 points in 205 career games, counting the goal he scored Thursday night as Pittsburgh gave up a three-goal lead and lost 5-3 in Nashville. He scored 29 goals as a rookie in 2006-07 and finished second to teammate Evgeni Malkin in the Calder Trophy rookie of the year voting.
Since that season, Staal has been inconsistent -- one reason there was some debate whether the Penguins should wait until the end of this season to begin negotiations with him.
"Part of this contract is that we hope his best hockey is ahead of him," Penguins general manager Ray Shero said in Nashville. "Everybody is looking for good, young players and he fits that criteria, certainly. We'll see where it goes, but we don't sign a guy with the intent of trading him. It was always my intention to sign him, to get him under contract, because we see him as a big part of our future. It was the same as with [defenseman] Ryan Whitney."
The Penguins made certain Whitney didn't become a restricted free agent by signing him to a $24 million, six-year contract last July. Without a new contract, Staal would have become a restricted free agent on July 1.
"No question I wanted to stay," Staal said in Nashville. "I'm comfortable here."
Staal scored 12 goals last season, or 17 fewer than his rookie season, and he has 12 goals and 10 assists for 22 points in 42 games this season.
Of those 12 goals this season, three came in the third period against Detroit on Nov. 11. He has not played well lately, with a plus-minus rating of minus-8 in his last 11 games. He has one assist during that span.
Since scoring five goals in three games from Nov. 11-15, Staal has five goals and six assists in 25 games and is a minus-10.
Staal said the new contract wasn't a factor in his recent play because negotiations are part of the game.
"He's so young," Shero said. "He's going to get better as a player. ... He's a kid that's going to get better as his career moves forward."
Staal is one of three brothers playing in the NHL. Eric Staal led Carolina to the Stanley Cup in 2006, while Marc is a New York Rangers defenseman. A younger brother, Jared, is a Phoenix Coyotes prospect.
Jordan Staal told his brothers of his new deal Wednesday night, even though it's not quite as big as the $57.75 million contract Eric signed four months ago. Still, Jordan Staal will be only 24 when his newest contract runs out.
"My brothers are excited about it and happy for me. My dad and I were talking, and he told me I'm 20 years old and set for life," Jordan Staal said. "It's a pretty amazing accomplishment."