Allen Craig homered and had a season-high four hits with three RBIs, and Carlos Beltran and David Freese both added a homer as the St. Louis Cardinals got back on track by beating Houston on Tuesday night.
The Cardinals managed just seven runs combined in a three-game sweep by the Texas Rangers, the first time they were swept this season.
On Tuesday, they piled up the same number of runs in the fourth inning alone, powered by a three-run triple by Matt Carpenter.
Jake Westbrook (4-2) didn't allow a hit until the sixth inning and yielded four hits and four runs in six innings in his third start since coming off the disabled list.
Houston starter Lucas Harrell (5-8) entered the game with a 1.73 ERA in four starts this month, but things went wrong quickly.
He allowed seven hits and seven runs with four walks in 3 1-3 innings.