Terms of the deal for the restricted free agent weren't announced, but Canadian broadcaster TSN reported it was worth a total of $5.75 million, including $2 million this season and $3.75 million in 2013-14.
Subban sat out the first four games of the season as a new deal was being struck.
The 23-year-old has tallied 21 goals and 55 assists for 76 points in 160 games during his three-year career in Montreal.
Last season he notched seven goals and 29 assists in 81 games.
Millions of Getty images now available for free via embed tool
NBC reportedly holds celebs hostage to Jimmy Fallon's show