Allen Craig put together a 4-for-5 performance which included a two-run home run, three RBI and two runs scored, as St. Louis rocked Houston, 13-5, in the opener of a two-game interleague set.
Matt Carpenter slugged a three-run triple, while both Carlos Beltran and David Freese added two-run shots for the Cardinals, who emphatically put the brakes on a three-game losing skid.
Jake Westbrook (4-2) gave up four runs on as many hits over six solid innings.
Brett Wallace drove in two runs with a triple, Matt Dominguez hit a solo homer and Ronny Cedeno knocked in a late run for the Astros, who have lost five of eight.
Lucas Harrell (5-8) was tagged for seven hits and as many runs, with five strikeouts and four walks in just 3 1/3 frames.
Westbrook held the Astros hitless through the first five innings, until Dominguez started the home sixth with his 11th homer of the season. Brandon Barnes walked, Jose Altuve singled and Wallace's triple brought in both to close the hosts' gap to 9-3. Jason Castro's fly to left scored Wallace and it was a five-run margin.
Matt Adams singled to open up the seventh and Freese launched a two-run shot for an 11-4 St. Louis edge, and in the eighth, a Craig two-run blast expanded the visitors' margin to nine.
Cedeno punctured Edward Mujica with a ninth-inning RBI single, but Michael Blazek got Barnes on a fly to right to end the game.
St. Louis broke open a scoreless game with a seven-run fourth. Beltran started with a double and scored on Craig's single. Matt Holliday and Adams followed with walks, then Jon Jay's base on balls two batters later forced in the second run. Pete Kozma singled and Carpenter then cleared the bases on a triple.
Yadier Molina plated Carpenter with a base hit, forcing Harrell from the mound in favor of Dallas Keuchel, who fanned the next two batters to keep it 7-0.
Beltran's two-run shot boosted the Cards to a nine-run bulge in the sixth.
These former NL Central foes met in Texas for the first time since the Cardinals took two of three from the Astros from Sept. 24-26, 2012 ... St. Louis has won five of its last six road games in Houston ... Prior to the game, the Astros recalled infielders Wallace and Jake Elmore from Triple-A Oklahoma City ... Harrell entered the contest with a 1.73 ERA in four previous June starts ... The Cards finished 5-for-9 with runners in scoring position and stranded six, while the Astros were 2-for-7 with RISP and left four on base.