Tanguay previously spent two seasons in Calgary, where he had a career-best 81 points in 2006-07. He had just 10 goals and 37 points with the Tampa Bay Lightning last season.
The 30-year-old Tanguay won the Stanley Cup with Colorado in 2001. He also has played with Montreal.
Tanguay earned $2.5 million last season with Tampa Bay, but he is taking a pay cut to $1.7 million in his return to the Flames.
"It wasn't about money. It was about an opportunity," Tanguay said Thursday during the first day of the NHL free-agent signing period.
Calgary scored the fewest goals in the NHL last season with 204. Tanguay said that Flames captain Jarome Iginla contacted him earlier Thursday to welcome him back.
"Knowing where I'm going, knowing the players there, they've got a lot of good shooters offensively, but I'm not sure I can't be of help passing the puck with the team," Tanguay said.
Tanguay wanted out of Calgary during his first stint there under coach Mike Keenan because he was used in a defensive role and spent little time on the power play. Tanguay wanted a larger role more befitting his $5.25 million salary at the time.
He was limited to 50 games with the Canadiens in the 2008-09 season because of a shoulder injury and finished with 16 goals and 25 assists.
"I just didn't get to play," Tanguay said. "I went for a while when I played two minutes a game, three minutes a game. I felt great at times, but I just didn't get to play.
"I want to get back to the level I think I can play. Last year was a difficult year for me. After last season, there are a lot of people doubting my ability."
In 739 career games with Colorado, Calgary, Montreal and Tampa, Tanguay has 203 goals and 617 points.
Tanguay said he hasn't been given any guarantee from Calgary general manager Darryl Sutter that he will play on the Flames' first line with Iginla.
"Obviously it's going to be the coach's decision," Tanguay said, "but I think the belief they have in me, I think I'm going to have a great opportunity to prove myself and help this team."