DENVER -- Jhoulys Chacin walked to the mound in the ninth inning, fired up and ready to finish a gem.
He was nearly unhittable for eight innings and had plenty left in the tank. But with two outs and one strike on Jimmy Rollins, he left a changeup over the plate for an RBI double that spoiled a bid for a shutout.
"I was really pumped up when I finished (the eighth). The last time I pitched here in the ninth was 2011," Chacin said. "I really wanted to finish the inning. After two outs I (said), 'You have one out left."
He couldn't get the final out and instead had to settle for a 5-2 win over the Philadelphia Phillies on Sunday.
Chacin (5-3) gave up six hits, struck out three and didn't walk a batter. His 8 2/3 innings marked the longest outing by a Colorado starter this season, but he missed a chance at his second career shutout and third complete game.
His only shutout was a 5-0 win over the Chicago Cubs on April 15, 2011.
"That's what we've been waiting for," teammate Carlos Gonzalez said. "He's a great pitcher, a great competitor. Too bad he didn't get the shutout, but that was an outstanding performance."
Rex Brothers got the final out for his third save of the season.
Wilin Rosario and Gonzalez homered for Colorado. The teams combined for 30 runs and 55 hits in splitting the first two games of the series, but pitchers dominated the finale at Coors Field.
Phillies starter Cole Hamels (2-10) was sharp early, but Chacin was efficient throughout. Chacin needed just 74 pitches -- 59 strikes -- to get through the first eight innings and he had only one three-ball count, to Rollins in the fourth inning.
Chacin retired 14 in a row after Dominic Brown's one-out single in the second. Kevin Frandsen led off the seventh with a single but was wiped out on a double play. Howard followed with a single up the middle against the shift, but Brown grounded out to end the inning.
"What he was doing wasn't hard to figure out," Phillies manager Charlie Manuel said. "He was throwing first-pitch strikes. He was getting ahead of us, and then we were chasing balls out of the strike zone."
Chacin looked as though he was going to go the distance. In the ninth, he gave up a one-out single to Ben Revere, who moved to second on Frandsen's groundout. Rollins drove him in with a line drive to the wall just over the head of right fielder Michael Cuddyer.
"I was pretty close, but to be honest with you with my ribs I got scared," said Cuddyer, who missed five games last week with a rib injury. "Scared of the wall. No question about it. I know in my mind with my ribs and the wall right there, I felt that warning track, all that together I got a little nervous."
After Howard's RBI single, Rockies manager Walt Weiss went to remove Chacin to a chorus of boos from the 45,186 fans, who were hoping to see the first complete game by a Rockies starter in two seasons.
"I was pulling for a complete game as much as anybody, but once he got to that situation the right thing to do was go get Rex to finish that," Weiss said. "That's about as good a performance as I've seen in a while by Jhoulys."
Chacin threw just 17 balls in his 86 pitches and had a first-pitch strike on 26 of the 31 batters he faced. The last strike to Howard ended his day earlier than he hoped.
"I thought (Weiss) was going to give me one more hitter," Chacin said. "I wanted to finish the game and I couldn't."
Hamels has lost two straight decisions and eight of his last nine. His only mistake was leaving a 91 mph fastball up to Rosario, who lined it into the left-field seats on the first pitch of the bottom of the second. It was Rosario's 11th home run of the season.
Hamels matched Chacin for the next four innings, retiring 12 in a row until Gonzalez led off the seventh with an infield single and Cuddyer blooped a double down the right field line.
Hamels allowed three runs on six hits, walked two and struck out seven.
"It was a pitchers' battle," Hamels said. "Ultimately he came out on top, and here I am again."
Gonzalez hit a two-run homer off reliever Justin De Fratus in the eighth to make it 5-0. It was his NL-leading 20th home run of the year.
The last Rockies shutout was by Ubaldo Jimenez against the Dodgers on June 1, 2011. ... Cuddyer finished with two hits to extend his hitting streak to 14 games. It's the longest by a Colorado player this season. ... The Rockies selected the contract RHP of Logan Kensing from Triple-A Colorado Springs and optioned RHP Chris Volstad. ... Phillies C Carlos Ruiz (right hamstring strain) went 0 for 2 in his first rehab start with Triple-A Lehigh on Saturday. ... Rockies OF Dexter Fowler returned to the lineup after sitting out Saturday. Fowler hadn't started since being hit on the right hand by a pitch on Thursday. ... RHP John Lannan (0-1) is expected to be activated from the DL on Monday to start the series opener against Washington. ... Rockies LHP Jorge De La Rosa (7-4) will open Colorado's nine-game road trip in Toronto on Monday.