ST. LOUIS -- Albert Pujols might have been a bit weary after a 4-hour photo shoot for the All-Star Game home run derby earlier in the day. Nope. A few hours later he went deep on his first swing.
Pujols hit his fourth homer in five games to launch a 4-for-4 performance and Chris Duncan's two-run triple in the fourth inning was the go-ahead hit as the St. Louis Cardinals beat the Pittsburgh Pirates 4-2 to snap a three-game losing streak Wednesday night.
"There were some things I had to do and I took care of it," Pujols said. "As long as it wasn't affecting my preparation for the game it was OK. No big deal."
Pujols is batting .611 (11-for-18) with two homers and three RBI against the Pirates in five games this season and .371 for his career with 37 homers and 109 RBI in 490 at-bats. The only blemish to his day came when he was easily thrown out at third trying to steal with two on and none out in the sixth.
He's not sure why he hits the Pirates so well.
"What I can tell you is I haven't changed anything," Pujols said. "I just try to be aggressive every time, in every series."
Pirates starter Zach Duke (3-3) gave up four runs in 5 1/3 innings, his shortest outing of a strong start to the season. Nyjer Morgan had two hits, an RBI and a steal for Pittsburgh, which stranded nine runners and has lost eight of nine.
"We hit a lot of pitches hard," said Andy LaRoche, who was 1-for-3 with a walk. "We've got to keep grinding. We can't get down on ourselves."
The St. Louis bullpen shut down the Pirates after rookie Mitchell Boggs threw more balls (43) than strikes (42) in 4 1/3 innings.
Kyle McClellan (2-1) allowed a hit and a walk in 1 1/3 innings and Ryan Franklin worked a perfect ninth for his eighth save in eight chances, part of a parade of five relievers who limited Pittsburgh to two hits.
"It's one of those things I've got to learn from," Boggs said. "The next time out I've got to make some adjustments."
Pujols homered for the second straight at-bat when lined a first-pitch fastball well over the left-field wall with two outs in the first. He's batting .500 against Duke (14-for-28) with two homers.
Pujols has 26 games in his career with at least four hits.
Duke gave up four runs on six hits. He allowed one or fewer earned runs in four of his first five starts, allowing one earned run in 6 1/3 innings in a 7-4 win in St. Louis on April 8.
"My fastball command was not good," Duke said. "But I was able to get some outs when I needed them to keep us in the game."
The Pirates got three walks, one of them on four pitches to Duke, and two hits in the second but scored only one run on Morgan's bases-loaded, two-out single. Center fielder Colby Rasmus' relay was just in time to nip Jason Jaramillo at the plate on a nice job of blocking by catcher Yadier Molina.
Pujols singled to start the fourth and Ryan Ludwick walked ahead of Duncan's one-out drive to the right-field wall, just over the outstretched glove of Delwyn Young. Duncan, who used to be a platoon player against left-handers, is batting .281 (9-for-32) with a homer, two doubles and seven RBI.
"I don't as much think to myself, 'Oh no, it's a lefty,"' Duncan said. "It's just 'Hey, I'm hitting.' In my mind its irrelevant whether he's left-handed or right-handed.
"I think getting more at-bats against them and having some success in spring training and early in the season is giving me more confidence."
Duncan also showed some speed when he scored on Khalil Greene's sacrifice fly to shallow center, easily beating Nate McLouth's off-line relay.
Morgan is 8-for-19 against the Cardinals this season. ... The Cardinals' 10-7 loss Tuesday to Philadelphia was their first in which they scored in five consecutive innings since 1917, according to the Elias Sports Bureau. ... Pirates pitchers have allowed a homer in nine of the last 10 games, totaling 13 in that span. ... Franklin hasn't allowed a run in 12 1/3 innings.