ST. LOUIS -- Pittsburgh starter Jeff Locke knew what he and the Pirates were up against on Saturday night.
"He's the guy they would want to have on the mound in a game like this," Locke said of St. Louis ace Adam Wainwright, "and he showed why."
In one of his best outings of the year, Wainwright allowed two hits and two walks in seven scoreless innings as the Cardinals regained first place in the wild National League Central race with a 5-0 win at sold-out Busch Stadium.
Bouncing back from two straight poundings at the hands of Cincinnati, which touched him for 18 hits and 15 runs in eight innings, Wainwright (16-9) tied Washington's Jordan Zimmerman and Colorado's Jorge De La Rosa for the league lead in wins.
Wainwright struck out eight, including the last four men he faced, and didn't allow a baserunner after Justin Morneau's walk in the top of the fourth inning.
"The way to make pitching as simple as possible is to repeat your delivery and execute your pitches," Wainwright said. "Directionally, I was off the last (two) starts. Today, everything was working towards the catcher, not horizontally."
Throwing all his pitches for strikes, Wainwright was stuck in only one real jam and he worked out of it quickly, erasing Pittsburgh's chance to snap a scoreless tie.
Andrew McCutchen doubled to right and stayed at second as Morneau walked. But Marlon Byrd bounced into a 6-3 double play and Pedro Alvarez whiffed on three straight curves.
"Today was a good day for him," St. Louis catcher Yadier Molina said of Wainwright. "He was aggressive, he had all his pitches working for him. It's a long season and you're not going to have everything working every time, but he's a tough guy."
In the four days after a 7-2 loss on Monday in Cincinnati, Wainwright eschewed his normal side session in the bullpen.
"I didn't want to continue bad mechanics," he said. "I did long-toss in the outfield and found the right arm slot. Then we pored over film for about two or three days."
Three relievers polished off the three-hit shutout as the Cardinals (82-60) edged ahead of the Pirates (81-60) by a half-game. It was the third straight loss for Pittsburgh, which still needs one victory for its first winning season since 1992, the last time it made the playoffs.
Locke (9-5) absorbed the loss despite yielding just three hits and two earned runs in five innings. But he walked four and hit a batter, and his wildness led to runs in the fourth and fifth innings.
"You can't keep walking leadoff hitters," he said.
Locke did it in the fourth, passing Carlos Beltran ahead of Molina's double into the right field corner. David Freese followed with a sacrifice fly for the first run and Pete Kozma's second hit in 36 at-bats, a two-out infield single, plated Molina to make it 2-0.
Locke plunked Matt Carpenter to start the fifth and shortstop Clint Barmes committed a two-base throwing error on Shane Robinson's bouncer. That led to Matt Holliday's infield out which scored Carpenter for a 3-0 lead.
It was the first start for Locke since a short demotion to Double-A Altoona on Aug. 27. Locke fell to 1-3 since the All-Star break with an ERA of just above 6.00.
"I'll move forward and look at the positives from this one," he said. "I was able to keep the damage down and give our hitters a chance to get back into it, but Wainwright was tough tonight."
Freese made it 4-0 in the sixth with a leadoff homer off Jeanmar Gomez, his eighth home run of the year, and pinch-hitter Daniel Descalso capped the scoring with an RBI single in the eighth.
With Wainwright at his best, the extra offense was superfluous.
"That was the Adam Wainwright we've been spoiled by," St. Louis manager Mike Matheny said.
NOTES: Pittsburgh activated OF Starling Marte (right hand contusion) off the 15-day disabled list, although Marte still can't swing a bat. He could be used for pinch-running and late-inning defense. Marte leads the team with 35 stolen bases. ... The Pirates called up RHP Brandon Cumpton from Triple-A Indianapolis, which was eliminated from the International League playoffs on Friday night, and designated RHP James McDonald for assignment after activating him off the 60-day DL. ... When Molina belted a three-run homer in the seventh inning on Friday night, it was the Cardinals' fourth homer in 17 games against Pittsburgh and their first since hitting three on April 26.