Wilson batted .269 with nine home runs and 55 RBI with the Astros but disappointed them with a lack of power. The Cardinals hope to improve their lineup against left-handed pitching.
"This was a pretty nice opportunity for us," assistant general manager John Mozeliak said. "He gives us some stability, too, because he can play all three outfield positions."
St. Louis was 17-28 against left-handers entering Friday's game at Chicago. Wilson, who is expected to play right field, was batting .312 against left-handers.
"He's a veteran whom we respect around here, and we like the way he competes," Cardinals manager Tony La Russa said before Friday's game. "He'll be another weapon against a left-handed starter."
The team also has concerns about center fielder Jim Edmonds, who missed the last two games because of post-concussion syndrome. Edmonds had been optimistic about playing Friday, but there was no word about the day's lineup.
Wilson made only two starts after July 29 for the Astros, who replaced him in the lineup with Luke Scott. He was designated for assignment Saturday.
Rookie pitcher Anthony Reyes, who lasted 3 1/3 innings in his shortest start Wednesday and is 4-6 with a 4.73 ERA, was optioned to Triple-A Memphis.
"It makes the most sense, because he can benefit from continuing to pitch," La Russa said. "And we just think it's important for Anthony to make sure he stays pitching every five days."
That move left the Cardinals with an 11-man pitching staff and could signal the return of Mark Mulder, despite a so-so third rehab start Thursday.
Pitching for Memphis, Mulder gave up five runs in four innings at Oklahoma City.
The Cardinals have been weak in the outfield most of the year before the emergence of rookie Chris Duncan in the last month. The team also plans on Wilson platooning in left field with the left-handed Duncan, who's batting .338 overall but .222 against lefties in 27 at-bats.
Wilson was batting .301 with runners in scoring position and got his 1,000th career hit earlier this season against the Cardinals in Houston. An NL All-Star in 2003, he led the league with 141 RBI that season for the Rockies.
In 2000, Wilson had 31 home runs and 36 steals with the Marlins and has six seasons with 25 or more homers.
The Cardinals have spent much of the season looking for a replacement for Reggie Sanders, who was not re-signed and ended up with the Royals, in left field. St. Louis has also tried So Taguchi, Larry Bigbie, John Rodriguez and Scott Spiezio at that position.