ST. LOUIS -- Zach Duke looked like a rookie against the St. Louis Cardinals. That was more than fine by him.
Still trying to recapture the touch that made him so good in his first season, Duke pitched into the seventh inning Wednesday and led the Pittsburgh Pirates past the Cardinals 7-4.
"I just feel like I'm in control of what I'm doing out there," Duke said. "I feel like every pitch I'm about to throw I feel like I know where it's going to go,"
Freddy Sanchez went 4-for-5 for his third straight multihit game to open the year. Jack Wilson matched his career best with four hits and two RBI and Nate McLouth's two-run homer snapped his 0-for-8 start.
"We played great from the first inning on," Duke said. "We put the pressure on them, made them make the mistakes, and it's the way you want to play a game, for sure."
Duke (1-0) went 8-2 with a 1.81 ERA in 2005, but the left-hander scuffled to an 18-37 record over the next three seasons.
Duke gave up three runs and five hits in 6 1/3 innings for his first victory over the Cardinals since a complete game on Aug. 11, 2006, at home. He was 0-2 with a 5.25 ERA in two starts against them last year while going 5-14 overall.
Duke was 1-0 with a 3.86 ERA in eight spring training appearances. Manager John Russell said Duke showed renewed commitment.
"He's a lot more consistent with the quality of his pitches, not as many misfires," Russell said. "He's been doing a good job of having very efficient innings."
Albert Pujols set a franchise record for a Cardinals first baseman with seven assists -- the most in the majors by a first baseman since the Pirates' Bob Robertson had eight on June 21, 1971.
But St. Louis manager Tony La Russa got little out of his third straight radically made-over lineup in as many games, including the pitcher batting eighth. Joe Thurston hit an RBI double in the ninth, but was thrown out trying for third for the first out.
"It was one of those plays, no doubt, I've got to be standing up," Thurston said.
Sanchez is batting .571 after his 11th career four-hit game, and has eight hits in his last 11 at-bats. He got his first three hits off Todd Wellemeyer (0-1), who surrendered five runs on 12 hits in five innings. Sanchez had been 2-for-18 with no RBI against the right-hander entering the game.
"The line could have been worse," Wellemeyer said. "I think I threw out of the windup against six batters."
Sanchez, the 2006 NL batting champion, batted .271 last year while battling shoulder woes much of the season.
"Freddy can hit," Russell said. "He went through a lot last year, didn't feel quite right I don't think all year long. I think he was really anxious to get the season going."
Matt Capps, the Pirates' fourth pitcher, got the last two outs for his second save in two tries. Colby Rasmus flied out to the center field wall with a man on for the second out.
The Pirates batted around in the second and scored four runs on five hits, two of them on consecutive, broken-bat RBI singles by Nyjer Morgan and Sanchez. A snappy relay from Pujols, the cutoff man, to second baseman Brendan Ryan covering first caught Ryan Doumit straying off the bag after his RBI single to help avoid further damage.
Wellemeyer, a 13-game winner in his first full year as a starter, was 1-1 with a 7.00 ERA in six spring starts. He was 3-0 with a 3.45 ERA last year against the Pirates but had trouble keeping his pitches down in his season debut.
McLouth homered in the sixth off Brad Thompson after Sanchez's leadoff double.
Pujols became only the third Cardinals player in the last 55 years to reach base four times in each of the first two games, joining Ted Sizemore (1974) and Geronimo Pena (1993). ... Pujols is 11-for-25 against Duke. ... Rick Ankiel reached on a strikeout-wild pitch in the fifth when Doumit, the Pirates' catcher, apparently got crossed up and was stunned by a fastball to the chest protector. ... Ryan Ludwick singled in the fourth and has hit in 13 straight games dating to last season.