PITTSBURGH (AP) -- Ian Snell won for only the second time in 18 starts and then acted as if he didn't want to speak to reporters.
"I'm not really going to talk," the Pirates right-hander said jokingly. "I don't want to jinx myself. I'll talk about anything else but the start."
Snell went seven innings despite a rough beginning, Nate McLouth homered and Pittsburgh rallied for a 8-4 victory over Colorado, snapping the Rockies' five-game winning streak.
Ryan Doumit and Doug Mientkiewicz each had three hits and two RBIs for the Pirates, who had lost three straight. Pittsburgh also took advantage of nine walks to beat Colorado for the first time in five games this season. The Rockies had won nine of 10 since the All-Star break.
"He started off rocky," Pittsburgh manager John Russell said.
But after Taveras' hit, Snell (4-8) retired 14 of the final 17 hitters he faced. He went seven innings for the second time in 21 starts this season and won for the first time since beating Washington on June 11.
In all, it's been a disappointing season for the 26-year-old Snell, who won 23 games combined in 2006-07 and had high expectations for this year after signing a long-term contract in March and earning the team's Opening Day start.
"We know he can pitch," Russell said. "He's proven it. He's just had a tough time this year. It was nice to see him win tonight. That's what we've been looking for. Hopefully, it's a turning point."
Snell allowed four runs and eight hits to go along with a walk and eight strike outs.
"I was focusing on throwing strikes, that was it," Snell said. "It was a team effort. Everybody pitched in. I helped my team stay in the game. That was my job."
Rockies starter Valerio de los Santos, called up from Triple-A before the game, held the Pirates scoreless through four innings in his first major league start in more than eight years.
But the 35-year-old seemed to tire in the fifth, walking the first two batters he faced. His replacement, Jason Grilli, only made things worse, walking a third batter and then allowing a two-run double by Doumit. Pittsburgh sent 10 hitters to the plate and scored four runs, the final two charged to Grilli (2-1).
"[De los Santos] was in trouble, and we got to the point where we needed to make an adjustment in the fifth," Colorado manager Clint Hurdle said. "Unfortunately, it didn't get a whole lot better after that. We had a bad night on the mound, bottom line."
Steve Pearce gave the Pirates the lead, capping off the fifth with the first of his two RBI sacrifice flies.
"When you're trailing, it's natural to want to hit your way back into the game," McLouth said. "But we stayed patient and got guys on base. Obviously, that led to runs."
McLouth hit a 448-foot home run off reliever Luis Vizcaino that bounced into the Allegheny River, sparking a three-run sixth. He finished with two RBIs.
De los Santos allowed two hits, walked six batters and struck out two in four-plus innings. He was making his first appearance in the major leagues since the 2005 season and his first start since April 9, 2000.
He had control problems from the start, issuing a four-pitch walk to McLouth to lead-off the game, with three of the pitches coming close to the outfielder's head. The Pirates had the bases loaded in the second and put two more runners on in the third but couldn't break through until the fifth.
"I couldn't throw my fastball for a strike, that was the big reason," he said. "When you're not throwing your fastball for a strike, you're in big trouble."
Pittsburgh first baseman Adam LaRoche and second baseman Freddy Sanchez each missed the game with back problems. Both players suffered the injuries Sunday during a loss to the San Diego Padres and are considered day-to-day. ... Holliday also hit a two-run, first-inning home run against Snell during a 5-2 Colorado victory at Coors Field on July 18. ... Taveras finished with two hits and swiped his major league-leading 46th base in the second inning. He has seven steals in his past seven games. ... McLouth's home run was the 23rd to land in the river in PNC Park's history. ... Pittsburgh has gone seven straight games without an error.