The Houston Astros scored a few runs for interim manager Tony DeFrancesco and chased St. Louis starter Jake Westbrook after five innings.

Too bad their starter, rookie lefty Dallas Keuchel, didn't record an out in the fourth.

David Freese's three-run homer snapped the Cardinals' seven-game longball drought and St. Louis punished Keuchel and four relievers for 17 hits in a 13-5 victory to complete to complete a three-game sweep.

"Mistakes are going to be made by young pitchers and young players," DeFrancesco said. "We know what we've got in the clubhouse and all we can do is stay positive as a coaching staff."

DeFrancesco is trying his best to keep things upbeat. He had the obligatory tip of the hat comment after each loss to the Cardinals, hastening to manager they're the World Series champions, and that his youngsters are trying.

"They compete and they kept grinding out at-bats," DeFrancesco said. "The good side for us, we scored five runs."

Freese and Matt Holliday each had four RBIs and Allen Craig had three hits and three RBIs. The Cardinals shrugged aside a 4-0, fourth-inning deficit and sent Houston to its seventh straight loss.

The Astros are 0-4 while getting outscored 32-8 since DeFrancesco replaced Brad Mills as leader of the stripped-down roster. Houston has won just seven of its last 50 overall.

Ben Francisco had three hits for the Astros, who were swept for the third time this month and 12th overall.

"It good to score some runs, but we still lost," Francisco said. "So everybody's not happy. We've got to come out there tomorrow and do it again."

Holliday's three-run double in the fifth inning was the go-ahead blow.

Westbrook (13-9) won for the fourth time in five starts despite struggles with control two days after getting a new contract for next season with a mutual option for 2014.

Westbrook surrendered five runs on seven hits, two walks and two hit batters in five innings, ending a string of 13 consecutive starts of at least six innings.

Keuchel (1-6) retired 11 of the first 12 batters, but six of his last seven reached base, one on an error. He earned his first career RBI on a sacrifice fly in the second, but was charged with five earned runs in four-plus innings.

"They have a great lineup, for sure, but I'm confident in what I can do," Keuchel said. "I was just trying to go with the flow and obviously I couldn't get it stopped in the fifth.

"Hopefully I get another shot at these guys."

The Cardinals totaled 17 hits and were 10 for 14 with runners in scoring position against five pitchers, one off their season best, to sweep the Astros for the first time since April 2009 and wrap up a 6-3 homestand with a string of contenders awaiting.

St. Louis starts a 10-game trip Friday night with three games at NL Central-leading Cincinnati, followed by three at wild card-contending Pittsburgh and four at NL East-leading Washington.

Like Westbrook, the 24-year-old Keuchel entered with decent recent numbers with three consecutive quality starts. He's 0-6 in nine starts since beating the Indians with a six-hitter on June 23.

Freese's 16th homer capped a two-out rally in the fourth. The Astros elected to pitch to Freese instead of Daniel Descalso, just 3 for 21 during the homestand to that point and batting .226.

The first five Cardinals reached safely to start the fifth, including an error. Holliday had been just 5 for 36 with two RBIs on the homestand, put St. Louis ahead 7-5 with his double.

NOTES: Craig has a 12-game hitting streak. He is batting .354 during his hitting streak with a homer, six doubles and six RBIs, raising his average to .313. ... Tyler Greene, traded from the Cardinals to Houston earlier this month, was 0 for 7 with five strikeouts in the series. Greene was a first-round pick in 2005 and became a fan target after numerous failures in St. Louis. ... ... Brett Wallace is 7 for 14 against Westbrook with four RBIs. ... Astros OF Justin Maxwell missed his second straight start with a bruised right index finger. ... Lance Lynn (13-5, 3.73 ERA) faces Mat Latos (10-3, 3.56) in the series opener against the Reds. ... The Astros open a three-game road series against the Mets, with Jordan Lyles (2-10, 5.70) set to start the opener against Jonathan Niese (10-6, 3.82).