The 37-year-old Iginla, of Canada, will be entering his 18th National Hockey League season when he hits the ice with the Avalanche in October.
"We are excited about Jarome Iginla becoming a member of the Avalanche," said Joe Sakic, Colorado's executive vice president of hockey operations. "Jarome's track record speaks for itself.
"He is one of the top goal scorers of all time, as well as a great leader. His addition will bolster our offence."
The signing of Iginla helps ease Colorado's loss Tuesday of American forward Paul Stastny who signed a four-year deal with the St. Louis Blues.
Future Hall of Famer Iginla has compiled 560 career goals and is coming off a 30-goal season with Boston in 2013-14. He also added 31 assists in 78 games with the Bruins, who signed Iginla to a one-year, $6 million deal last year.
It was the 12th time he reached the 30-goal mark during his brilliant NHL career. He did it 11 straight seasons for Calgary.
Iginla had played his entire NHL career with Calgary before getting dealt to Pittsburgh at the 2013 trade deadline. After Pittsburgh's loss to the Bruins in the 2013 league playoff semi-finals, the power forward signed with Boston for the 2013-14 season. He played 16 seasons with the Flames.
Iginla hopes to bring leadership and add scoring and grit on the top two lines for Colorado, which won the Central Division title last season thanks in part to a young forward group that includes Canadian Olympian Matt Duchene and rising star Nathan MacKinnon.
Colorado added another veteran forward on Monday, trading forward P.A. Parenteau to Montreal for the speedy Daniel Briere.
In another significant deal on Tuesday, the Vancouver Canucks and free agent goaltender Ryan Miller agreed to a three-year contract.