Landeskog, 20, could have become a restricted free next after next season so the Avalanche was protecting its investment in the second overall selection in the 2011 draft.
Financial terms weren't announced but The Denver Post said the contract, which ties Landeskog to Colorado through the 2020-21 season, is worth a total of $39 million.
"Gabe is and will continue to be a large part of the foundation of this hockey team for many years to come," said Avalanche Executive Vice President of Hockey Operations Joe Sakic. "Signing our captain to a long-term extension demonstrates the commitment of (team owners) Stan and Josh Kroenke to this franchise and to our fan base."
Landeskog was named team captain last September, the youngest player (by 11 days over Pittsburgh's Sidney Crosby) to be made a team captain.
Landeskog appeared in just 36 regular-season games last season, scoring nine goals and eight assists. Over 118 games in two seasons, he has 31 goals and 38 assists.
He was voted the Calder Memorial Trophy in 2012 as the NHL's top rookie.
Video of Victoria’s Secret models trying to 'twerk' hits Instagram
Wisconsin business offering 'therapeutic cuddling' forced to close