ST. LOUIS -- Back home where no pitcher has been better this season, Adam Wainwright was aces again.
Wainwright stayed unbeaten at Busch Stadium with seven strong innings and he knocked in the go-ahead run for the
Albert Pujols hit his 25th homer, a two-tun shot that capped a five-run fifth inning.
Wainwright (15-6), coming off one of his worst outings of the season, allowed one earned run and six hits.
"It was a head-scratcher," he said of the loss to the New York Mets in which he allowed six runs in five innings. "You've just got to forget about it and move on."
He struck out five and did not walk a batter, while improving to 11-0 at home with a 1.22 ERA, both major league bests.
St. Louis infielder Aaron Miles, who had two hits and three RBI, felt certain Wainwright would bounce back.
"You don't expect two outings in a row like that from him," Miles said. "Obviously, we were expecting regular Adam on the mound today."
"He is who he is because he's that good."
Wainwright said he simply returned to the basics against Pittsburgh.
"Just got back to doing what I do, command all my pitches, change speeds, work in-and-out and let my defense do their work," he said.
St. Louis broke a 1-1 tie with a fifth-inning rally against Pittsburgh starter Zach Duke (5-10), who gave up six earned runs in five innings.
The Cardinals outscored Pittsburgh 21-2 in sweeping the three-game series. St. Louis has won 11 of 12 at home.
Wainwright retired 10 in a row at one point and lowered his ERA to 2.19. He improved to 7-2 against Pittsburgh and helped himself out with his bat.
The right-hander's two-strike, bloop hit to left-center brought in Colby Rasmus for a 2-1 lead in the fifth. Aaron Miles and Jon Jay followed with run-scoring hits to push the lead to 4-1.
"We're putting the ball in play and not chasing," St. Louis manager Tony La Russa said. "We've been doing a lot of good things."
Pujols ripped a 3-2 pitch into the left-field bleachers for his fourth career home run in 42 at-bats against Duke. It was Pujols' 391th career home run moving him into 51st place in the career list.
"I wanted to get it in on him and I didn't get it there," said Duke. "That's what he does."
Matt Holliday added a solo home run in the eighth inning off Pittsburgh reliever Steven Jackson. It was Holliday's 20th homer of the season.
Pittsburgh outfielder Jose Tabata had a first-inning single to extend his hitting streak to 12 games.
Ronny Cedeno drove in the Pirates' only run with a second-inning single that plated Lastings Milledge, who tripled to lead off the inning.
The Pirates, who have lost eight of the their last 10, have scored just two runs in their last 29 innings.
"I thought the guys had some pretty decent at-bats," said Pittsburgh manager John Russell. "The guys just didn't get the hit when we needed it."
The Pirates were 2-for-19 with runners in scoring position in the series. This was the 13th time the Pirates have been swept in a series this season.
Wainwright had two hits and recorded the ninth multi-hit game of his career. ... RH Jake Westbrook, acquired from Cleveland as part of a three-team trade on Saturday, will make his St. Louis debut Monday against Houston's Brett Myers. To make room for Westbrook, IF Tyler Greene was placed on the 15-day disabled list with a right hand contusion. Westbrook will wear No. 35. ... IF David Freese will begin a rehab assignment Monday at Double A Springfield. Freese has been out since June 27 with ankle and toe injuries. ... The game drew a sellout crowd of 43,338, the 16th sellout of the season at Busch. ... Pittsburgh's Argenis Diaz got his first major league hit, a single off Mitchell Boggs in the ninth.