PITTSBURGH -- Albert Pujols' home run in the first inning struck halfway up the batter's backstop in center field, the kind of drive that can unnerve a pitcher. Instead, it almost seemed to calm down Zach Duke.
Duke responded to Pujols' homer by limiting St. Louis to three singles the rest of the way while pitching eight innings, and the Pittsburgh Pirates ended an eight-game losing streak by beating the Cardinals 7-1 on Tuesday night.
"Man, it's so nice to get a win," Moss said.
Njyer Morgan's two-run triple finished off a four-run second inning that included Duke's run-scoring single and the Pirates -- back in last place in the NL Central -- won for the only second time in 14 games since April 26. They were 11-7 when the slide began but are now 13-19.
"We were desperate to get that streak over and start a winning streak," Duke said. "Who knows, maybe a 15-game or 20-game winning streak started tonight."
The Cardinals did almost nothing against Duke (4-3) following Pujols' 21st home run in 63 games at PNC Park, the most by an opposing player. Pujols' drive was his second off Duke in two games since Wednesday -- when the Cardinals beat the left-hander 4-2 -- and was his 13th this season.
Pujols is 15 for 33 against Duke, and the homer was his fourth consecutive hit off him in two games.
"That's what that guys does, he's paid to hit balls like that and he does a very good job of it," Duke said. "But it turned out differently after the first. ... My breaking pitches were working for me and I was able to keep them off balance."
Duke settled down to pitch seven shutout innings, striking out five and walking one. Duke has only one fewer victory in seven starts than he had while going 5-14 in 31 starts last season.
Cardinals starter Todd Wellemeyer (3-3) was roughed up by the Pirates for the second time in three starts, giving up seven runs and nine hits in 4 1/3 innings. He lost to them 7-4 on April 8, surrendering five runs and 12 hits in five innings.
Wellemeyer fell behind 4-1 while allowing five hits in the second, all singles except for Morgan's triple into the right-center gap. Cardinals right fielder Ryan Ludwick strained his right hamstring trying to make the catch and left the game.
"Luddy had the ball, but that last step is when he felt that yank," manager Tony La Russa said.
Ludwick didn't feel anything pop or tear, saying it was more like a cramp, but La Russa didn't sound optimistic he would be ready to play the next couple of days.
"I don't anticipate the news is going to be too good on it," La Russa said.
The Pirates made it 7-1 in the sixth on LaRoche's sixth homer, which followed a 1-for-30 slide. Two batters later, Moss hit his first of the season, a two-run shot that was his third consecutive hit off Wellemeyer. Moss began the game hitless in 15 at-bats.
Home plate umpire Randy Marsh warned both dugouts after Duke hit Yadier Molina with a pitch in the fourth and Wellemeyer threw behind Freddy Sanchez in the bottom of the inning. In their two previous series this season, Pirates pitchers hit four Cardinals batters.
A player from each side was hit by a pitch after that, Colby Rasmus by Duke in the sixth and the Pirates' Andy LaRoche by Brad Thompson in the seventh, but both pitchers were attempting to throw inside and neither was ejected.
Pirates closer Matt Capps pitched the ninth in a non-save situation, his first appearance since developing pain in his right elbow May 4. He loaded the bases by giving up a single and walking two, but had two strikeouts while retiring the next three batters.
- Cardinals RHP Chris Carpenter (strained rib cage muscle) threw off a mound for the first time since getting hurt April 14. He is expected to throw again Friday in St. Louis.
- St. Louis starting pitchers have allowed 12 homers in 57 innings this month.
- The Pirates had 11 hits after batting .212 during their losing streak.