Stalberg will make $2.5 million in 2013-14 and $3.5 million each in 2015-16 and 2016-17 under terms of the deal announced Friday in a team release.
The 27-year-old Stalberg had nine goals and 14 assists in 47 games for the Stanley Cup champion Chicago Blackhawks this season. He appeared in 19 playoff games and had three assists.
Stalberg, a four-year veteran, had 22 goals and 43 assists for the Blackhawks in 2011-12.
Nashville had 2.27 goals last season to match the Florida Panthers for the lowest average in the NHL.