The team announced the deal Saturday, getting Forsberg locked up before he could hit the open market when NHL free agency opens next week. He's now under contract through 2030.
Forsberg, who turns 28 in August, is coming off the best season of his career. The native of Ostervala, Sweden, set career highs with 42 goals, 42 assists and 84 points in just 69 games. Forsberg had eight game-winning goals, one shy of the nine he had in the 2016-17 season.
He ranked third in scoring for the Predators, trailing captain Roman Josi and Matt Duchene, who set the franchise record for goals in a season with 43.
The Predators felt close enough to an extension with Forsberg that general manager David Poile chose to keep him rather than looking to trade him.
Poile in June said he and Forsberg's camp continued negotiations, though the GM also had several backup plans. That included Forsberg possibly testing free agency, knowing Nashville could offer him an eighth year compared to seven by other teams if a contract got done before July 13.
The 10-year veteran has played 566 games with Nashville after being acquired April 3, 2013, in a trade that sent Martin Erat and Michael Latta to the Washington Capitals for the 11th pick overall in the 2012 draft.
Forsberg has 220 career goals and 249 assists for 469 points. He is coming off a season where he played his most games since 2016-17 when he played all 82 for a third consecutive season. Forsberg previously signed a six-year, $36 million extension in June 2016.
He was fourth in voting for the Calder Trophy in 2014-15 and was named to the NHL All-Rookie Team after leading Nashville with 26 goals and 63 points. He became the first Nashville player to score in the NHL All-Star Game in 2015 and had the franchise's first hat trick in that season's playoffs in Game 5 against Chicago in the first round.
Forsberg had two natural hat tricks in the span of three games between Feb. 23 and Feb. 27 in 2016 against Toronto and St. Louis. He was the first to do so in three or fewer games since Petri Skriko in consecutive games in 1986 with Vancouver.