Philadelphia, PA (SportsNetwork.com) - Chad Bettis lost a perfect game in the seventh inning and a no-hitter in the eighth, but ended up a winner for the Colorado Rockies.

Bettis threw eight shutout innings and Troy Tulowitzki homered twice to lead the Rockies to a 4-1 victory over the Philadelphia Phillies on Friday night in the opener of a three-game series.

Tulowitzki belted solo homers off Phillies ace Cole Hamels and finished with four hits, but made an error that ended Bettis' perfect game in the seventh.

Cody Asche, called up from the minors by Philadelphia prior to the game, put a stop to the no-hit bid with a one-out single in the eighth.

Although Bettis (2-0) carried a two-hit shutout into the ninth inning against San Francisco on Sunday, he would have been an unlikely candidate to throw Colorado's second no-hitter.

The 26-year-old right-hander was making his 12th career start and entered the game with a 6.29 career ERA in 88 2/3 innings. He allowed two hits, no walks and struck out seven.

"My last start against the Giants was something that I really wanted to build off of," Bettis said. "I wanted to keep moving forward and push it into this game."

The Rockies have won all four of his starts since he was called up from the minors on May 14. That includes a 6-5 win over Philadelphia on May 19 in which he gave up three runs in six innings but did not factor in the decision.

Ben Paulsen hit a two-run homer off Luis Garcia in the ninth inning after the Phillies had turned a double play, accounting for Colorado's final runs.

The Phillies scored their first run in two games against John Axford in the ninth when Brandon Barnes dropped Chase Utley's fly ball at the wall in left.

They have lost five in a row to fall 12 games under .500 (19-31) for the second time this season.

Hamels (5-4) pitched well but had a four-start winning streak snapped. He gave up five hits, three to Tulowitzki, but struck out nine and walked just one.

"He was outstanding," said Phillies manager Ryne Sandberg, who was ejected from the game in the top of the ninth inning for arguing from the dugout. "He couldn't get the ball down on (Tulowitzki), but other than that he was very good. But Bettis was even better. We had a hard time with his changeup, his offspeed stuff and he really seemed to mix his pitches well."

Ryan Howard had the hardest-hit ball off Bettis, a drive to the warning track leading off the fifth inning that Barnes, then playing center field, caught near the top of the short fence to steal a potential home run.

Bettis lost his perfect game on Ben Revere's hard-struck ball up the middle to lead off the seventh, which the pitcher deflected. Tulowitzki didn't get his glove down on the ball, letting it hit off his foot as he tried to field it up the middle.

Charlie Blackmon, who entered the game in the seventh, made a sliding catch in center on Freddy Galvis' fly ball a batter later to preserve the no-hitter.

But Asche ended the bid when he slapped Bettis' 90th pitch through the left side to beat a shift in the eighth. Carlos Ruiz then dropped a two-out single into shallow right field to put runners on the corners before Bettis struck out Darin Ruf on a check-swing to end the inning.

Ubaldo Jimenez threw the only no-hitter in Rockies history on April 17, 2010, in Atlanta.

The Phillies called up Asche, their former everyday third baseman, after he spent the past two weeks learning to play left field at Triple-A Lehigh Valley while Maikel Franco took over at the hot corner.

Asche started in left, the first time he's played a position other than third at the major league level.

Both of Tulowitzki's home runs sailed high over Asche and landed deep in the seats behind left field in the first and third innings.

Game Notes

Sandberg was ejected for arguing a check-swing call from the dugout. Sandberg was apparently upset over Ruf's swing being called a strike in the eighth and Nolan Arenado's being ruled a ball in the ninth ... The Phillies sent Grady Sizemore to Lehigh Valley to make room for Asche ... Friday was the five-year anniversary of Roy Halladay's perfect game for the Phillies against Miami. It was a little over a year since the Phillies were no-hit by Los Angeles' Josh Beckett last May 25, also at Citizens Bank Park ... The Phillies started a nine-game homestand. They were coming off a 3-7 road trip that started with a four-game split against Colorado from May 18-21.