The 30-year-old Mitchell had six goals and eight assists in 65 regular-season games between the Buffalo Sabres and Montreal. He had a goal and four assists in 12 playoff games for the Canadiens.
''We are very pleased to have come to terms on a multi-year agreement with Torrey Mitchell,'' Montreal general manager Marc Bergevin said in a statement. ''Torrey is a versatile player who has a great deal of speed and experience. He was an excellent addition to our group of forwards last season, and offered a solid performance during the playoffs.''
Mitchell has 42 goals and 63 assists in seven seasons in 457 NHL games.
He was acquired by the Canadiens from Buffalo on March 2 for Jack Nevins and a seventh-round pick in the 2016 draft.