"[It was] one that we certainly needed after the way things have been going the past 20 games or so," said All-Star Nate McLouth, who led the Pirates with a three-hit performance that ended a single away from the cycle.
The Pirates improved to 8-7 against the Cardinals this season on the left shoulder of starter Paul Maholm, who was backed by a 14-hit offensive attack.
Nyjer Morgan and Luis Cruz added five hits from the top two spots in the lineup, and Maholm and Raul Chavez added two hits each to give the Pirates their fourth victory since Aug. 19.
"Some nights we're more successful than others," manager John Russell said. "I thought tonight we had a pretty good approach and kept relatively patient. We were fortunate to score some runs."
Friday night's game began one hour and 13 minutes after its scheduled 7:05 p.m. ET start.
Pittsburgh jumped out to a three-run lead in the first three innings, courtesy of Brandon Moss' sacrifice fly and McLouth's two-run homer in the third. The blast was McLouth's 25th of the season.
Things got especially interesting in the fifth, when the Pirates put up six runs. Maholm, Morgan and Cruz singled to load the bases, and McLouth cleared them with a double to right field.
Moss then doubled in McLouth, and Maholm singled in Moss for the Pirates' ninth run of the game.
With his second hit of the inning, Maholm became the first Pirates pitcher to record two hits in one frame since Kip Wells did so on Aug. 24, 2002. The last Major League pitcher to accomplish the feat was the Phillies' Kyle Kendrick, on July 13 of this year.
"I was going up there figuring I was going to strike out anyway," Maholm joked afterward.
"It's been a while since I've seen a pitcher get two hits in one inning," added Russell. "I'm sure it will be a night he won't forget."
McLouth came inches away from his second home run of the game in the sixth, when his towering shot to right field banged the Clemente Wall, giving the center fielder his fourth triple of the year.
In the eighth, McLouth, who recorded a career-high five RBIs, came to the plate needing a single to record his first career cycle, but Cardinals second baseman Brian Barden stopped McLouth's ground ball and threw past Albert Pujols for an error.
"No question, especially in a 10-0 game," said McLouth when asked if the cycle was on his mind during that last at-bat. "You know what's going on. It would've been neat, but I'll take a 10-2 victory over that any day."
"I think everyone was pulling for him in the last at-bat, trying to get one through," Russell said. "That's what he's capable of doing. He had a big night for us. It really propelled our offense to score some runs."
Maholm was just as impressive. The lefty earned his ninth win of the season by getting ahead of hitters and inducing 17 groundouts over his eight-plus innings.
He was also extremely efficient, throwing only 93 pitches in eight innings. But he was unable to pick up the complete game after allowing the first four batters of the ninth to reach base with hits. Romulo Sanchez came on in relief and recorded the last three outs, surrendering only one run.
"You always want to finish the ninth when you get out there," Maholm said, "but unfortunately, they started to get some hits, and J.R. made the right move.
"Early, I was getting ahead, throwing the ball down, getting ground balls. [Our defense] made a lot of great plays. [It] was able to keep my pitch count down and [let] me stay in the game that long."
The Pirates turned two double plays behind Maholm. Chavez and shortstop Brian Bixler also made fine plays in the field.
Chavez's came in the first, when he picked off Pujols at second from his knees. Bixler then backed up third baseman Andy LaRoche's deflected ball in the fourth and was able to get Ryan Ludwick out at first on the throw. The play prevented a run from scoring.