Financial details were not released, but Sportsnet reported the contract is worth $875,000.
RELATED: [NHL Free Agent Tracker]
Yakupov, 23, had nine points (three goals, six assists) in 40 games with the St. Louis Blues last season. He was traded to St. Louis from the Edmonton Oilers on Oct. 7.
"Nail is a young, skilled winger who will add depth to our lineup," Avalanche general manager Joe Sakic said. "We look forward to seeing him at training camp."
Yakupov was selected by Edmonton with the No. 1 pick in the 2012 NHL Draft and had 31 points (17 goals, 14 assists) for the Oilers as a rookie in 2012-13. But he's topped that points total once in four seasons since. He has 120 points (53 goals, 67 assists) in 292 NHL games.