Nate McLouth had three of his four RBI during a 10-run seventh inning, and the Pirates came from behind to take their second straight from the Rockies, 11-4 on Sunday.
The first 11 batters reached in the seventh for Pittsburgh, which trailed 4-1 entering the inning but scored at least 10 runs in an inning for the first time since Aug. 20, 2003.
"You don't see 10s on the board too often," Rockies manager Clint Hurdle said. "Everything just kind of broke loose."
The inning featured nine hits, two Rockies errors -- three balls bounced off Colorado outfielders' gloves -- and a reliever who earned a trip to the disabled list when he happened to step on a bat while running to back up home plate.
"Things were going our way that inning," McLouth said, "and sometimes you need that to have an inning like that."
McLouth also homered for the second successive game, and Andy LaRoche had two hits and two RBI for the Pirates, who have won four of their past six since snapping an eight-game skid.
The Rockies' Ubaldo Jimenez allowed only one run for the third consecutive start, but he could not extend his personal winning streak to three when the bullpen -- and the Colorado defense -- didn't hold a three-run lead for him.
"It is hard, not for me not getting the win -- it was hard for the team," said Jimenez, who allowed five hits and three walks while striking out seven in six innings. "We were looking for the win to win the series, but it didn't work out."
The wild seventh inning started when Matt Daley walked pinch hitter Eric Hinske. Delwyn Young followed with a single to left, and Freddy Sanchez snapped an 0-for-13 stretch with an RBI double off Brad Hawpe's glove in right.
Daley was forced to leave the game when he sprained his left foot after Sanchez's hit. As he was running past home plate, umpire Bill Welke tossed the bat aside to clear the area, and the bat happened to land just underneath Daley's next stride.
"It was just a freak accident," Daley said.
The Pirates' onslaught continued against Alan Embree (1-2). McLouth drove in Young and Sanchez with a single, and he scored to give Pittsburgh its first lead when Adam LaRoche hit a high fly to the deepest part of the park in left-center. Ryan Spilborghs sprinted to get to the ball, but it hit off his glove and was ruled a two-base error.
"The baseball gods were on our side this Sunday," Young said. "Hitting's contagious, as you can tell. You get one or two, the team gets on a roll, three or four and then all the problems or worries we had the last few days are nixed."
Robinzon Diaz followed with a bunt single, Brandon Moss walked and Andy LaRoche hit a two-run double. Jack Wilson, Hinske -- who had two pinch-hit plate appearances before an out was recorded -- and Young added consecutive RBI singles.
The first out of the inning came when Hinske was thrown out at third on Young's hit, which had bounced off Hawpe's glove in deep right. Two batters later, McLouth doubled in Young to make it 11-4 and give the Pirates 10 runs in the inning.
"I haven't seen anything quite to that extent [in an inning], but it sure is nice to see," Pittsburgh starter Zach Duke said. "We've been struggling to put some runs on the board, but any time you get an inning like that, it takes a lot of pressure off everybody."
The comeback made a winner out of Duke (5-3), who gave up four runs in the fourth when Hawpe and Matt Murton had RBI hits and Yorvit Torreabla hit a sacrifice fly.
"Duke deserved the win," said McLouth, whose third-inning solo home run was the first Jimenez allowed in 42 1/3 innings this season -- the third-longest streak to start a season in Rockies history. "It was nice that he was still in the game officially to get him the win."
Colorado last allowed 10 runs in an inning April 26, 2008, at the Los Angeles Dodgers. ... The Pirates club record for runs in an inning is 12, but they haven't scored more than 11 since 1900. ... The Rockies announced after the game that Daley would be placed on the 15-day disabled list. The corresponding roster move wasn't yet announced. ... Colorado 1B Todd Helton -- one hit shy of 2,000 in his career -- was given the day off.