Tanguay, 26, was Colorado's second-leading scorer last season with 78 points on 29 goals in 71 games. He has scored 400 points in 450 NHL games and was a key member of the Avs' 2001 championship team.
Tanguay scored two goals in Game 7 of the 2001 Stanley Cup finals to help the Avalanche clinch their second Stanley Cup.
He was Colorado's first selection and the 12th overall pick in 1998.
Trade talk circulated around Tanguay this season when the Avalanche were shopping for a veteran goaltender. He required a $3.23 million qualifying offer from the Avalanche by July 1 to retain his rights.
The trade caught Leopold off guard.
"I went into the day thinking I wouldn't be traded," he said. "To be traded within the division was even more unlikely, but I guess that's all part of the business."
Colorado also received a second-round pick in Saturday's draft and a conditional second-round selection in either the 2007 or 2008 draft.
Leopold played in 74 games for the Flames last season and had two goals and 18 assists.
"I have an offensive background and I like to show it," he said. "In Calgary, we played in a defensive scheme and we took pride in keeping goals down."
Leopold won the Hobey Baker Memorial Award as college hockey's outstanding player as a senior at the University of Minnesota in 2001-02 and made his NHL debut with the Flames in 2002-03.
He has 15 goals and 52 assists in 214 career games.
"Jordan is a solid defenseman and a very good skater," Avalanche general manager Francois Giguere said. "He is only 25 years old and has a bright future ahead of him."
Leopold also posted a plus-6 rating and finished second on the team in average time on ice (22:19). He skated in all seven playoff games for the Flames, notching one assist.
Colorado finished second behind Calgary in the Northwest Division this season.