Anaheim announced the deal Sunday.
Stewart played for Buffalo and Minnesota last season, collecting 36 points and 88 penalty minutes. He appeared in eight postseason games with the Wild, getting two assists.
Stewart also has played for Colorado and St. Louis in his seven-year NHL career. He led the Blues with 36 points during the lockout-shortened season in 2013.
He will provide toughness and veteran depth for the Ducks, who lost Matt Beleskey in free agency and traded away Emerson Etem and Kyle Palmieri. Stewart also will add toughness along with Brian McGrattan, who signed a one-year deal with Anaheim on Friday.