Jorge De La Rosa went the distance. Cole Hamels went home with the win.
Hamels threw eight impressive innings, Jimmy Rollins drove in the go-ahead run with a sacrifice fly and the Philadelphia Phillies beat the Colorado Rockies 2-1 Wednesday night to snap a four-game losing streak.
De La Rosa (5-2) was the hard-luck loser. The lefty allowed two runs — one earned — and five hits to record his first career complete game.
"It's a shame De La Rosa had to accept a loss," Rockies manager Jim Tracy said. "It was a terrific performance, probably his best all year."
Hamels (5-2) allowed one run and five hits, striking out eight for his first career win against the Rockies. He entered 0-3 with an 8.22 ERA in three career starts against Colorado, including two in the postseason.
The Rockies wasted an opportunity to tie it against Ryan Madson in the ninth after pinch-hitter Seth Smith led off with a double and the middle of the order was coming up.
Madson struck out Carlos Gonzalez and Troy Tulowitzki swinging at offspeed pitches. He carefully pitched around Todd Helton before intentionally walking him on a 3-0 count. Madson then struck out pinch-hitter Jason Giambi for his seventh save in as many tries.
"He made some really good pitches to Tulo and me in the ninth," Gonzalez said. "He had a good fastball and his change kept us off-balance."
The NL East-leading Phillies had just seven runs and 17 hits in the previous four games. They got just enough this time.
Wilson Valdez led off the bottom of the eighth with a single to left. Pinch-hitter Shane Victorino sacrificed him to second and he advanced to third on a wild pitch. Rollins followed with a liner to right and Valdez slid in safely ahead of Ryan Spilborghs' throw.
Colorado tied it at 1 on Helton's RBI double with two outs in the seventh. Gonzalez hit a double to center with one out and scored on Helton's drive to left. Hamels had retired 14 straight before Gonzalez got his hit.
The Phillies went ahead 1-0 in the fifth. Raul Ibanez got them started with a one-out single. After Carlos Ruiz was hit by a pitch, the runners advanced on catcher Chris Iannetta's passed ball. Valdez then lined a single to left to score Ruiz. De La Rosa escaped further trouble by getting Hamels to ground into a double play.
De La Rosa fell to 0-4 against the Phillies. He entered with an 11.34 ERA in four career starts against them.
"Everything was working tonight," he said. "I've been working on my pitches since spring training. I have to keep pitching like that."
The Phillies helped Hamels with solid defense early. Right fielder John Mayberry Jr. threw out Alfredo Amezaga trying to go from first to third on Gonzalez's one-out single in the first. Ruiz, the catcher, nailed Spilborghs trying to steal second to end the second.
Notes: Rockies RHP Aaron Cook, who has been on the disabled list all season with a broken ring finger on his throwing hand, had an impressive rehab outing for Double-A Tulsa. He threw gave up one earned run and three hits, striking out six in five innings. ... A crowd of 44,665 was the 157th straight sellout at Citizens Bank Park, including postseason play. ... Helton and Smith have seven-game hitting streaks.
(This version CORRECTS Phillies 2, Rockies 1. Subs 2nd paragraph to correct day of the week)