Calgary added the Czech forward Monday on the second day of NHL free agency.
The 28-year-old Hudler had a career-high 25 goals and 50 points last season with the Detroit Red Wings. He had 87 career goals and 214 points in five full seasons plus parts of two years with the franchise that drafted him in 2002.
"Jiri Hudler is a highly skilled and dynamic offensive player," Flames general manager Jay Feaster said in a statement. "He is one of the very best goal scorers in the NHL at even strength and he puts a very high percentage of his shots on net, generating scoring chances for himself and rebound opportunities for his teammates. He fits our need to upgrade and improve our skill and we are very pleased to have him on board."
Hudler had a career-high 57 points during the 2008-09 season, then played in Russia's Kontinental Hockey League for one season. He returned to the Red Wings with a $5.75 million, two-year deal.
Information from ESPN.com's Pierre LeBrun and The Associated Press contributed to this report.