ST. LOUIS -- Back home where no pitcher has been better this season, Adam Wainwright was aces again.
Albert Pujols hit his 25th homer, a two-run 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.
"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' 391st 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."
Pittsburgh outfielder Jose Tabata had a first-inning single to extend his hitting streak to 12 games.
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. ... RHP 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.