Saad, 28, agreed to a five-year contract worth $22.5 million, for a $4.5 million cap hit.
He had 15 goals and nine assists in 24 games last season, his only season with the Avalanche. He has 371 points in 632 games in a 10-year career that included two stints with the Chicago Blackhawks and one with the Columbus Blue Jackets.
Saad ostensibly replaces Jaden Schwartz on left wing. Schwartz, 29, signed a five-year, $27.5 million free-agent contract with the expansion Seattle Kraken. Saad joins another new winger -- Pavel Buchnevich -- whom the Blues acquired from the New York Rangers and signed to a four-year, $23.2 million deal.
The move leaves the Blues with just over $8.5 million in salary-cap space with restricted free-agent forwards Ivan Barbashev, Zach Sanford, Jordan Kyrou and Robert Thomas needing contracts. The Blues have been actively seeking to move winger Vladimir Tarasenko, who requested a trade. He has two years left on his contract with a $7.5 million cap hit.
Saad has been involved in three trades based on contract concerns. In 2015, the Blackhawks dealt him to Columbus where he signed his current six-year, $36 million deal. In 2017, when the Blackhawks thought they couldn't afford Artemi Panarin, Saad went back to Chicago in that trade. Then with only a year left on his deal, the Hawks shipped him to Colorado.
The New Jersey Devils were among the teams in talks with Saad.