The contract carries a $5.17 million salary-cap hit through the 2023-24 season. General manager Brian MacLellan announced the move Friday night.
Signing Wilson was the final need on the Stanley Cup champions' offseason checklist. The 24-year-old was their final restricted free agent.
Wilson had 14 goals and 21 assists for 35 points last season. MacLellan called Wilson a unique player for his mix of skill and physicality and said he's just entering his prime.
In 391 regular-season NHL games, the Toronto native has 35 goals and 69 assists. The 2012 first-round pick became a top-line winger this past season playing with captain Alex Ovechkin.