PHILADELPHIA (AP) — Chad Bettis retired the first 18 batters and took a no-hitter into the eighth inning, Troy Tulowitzki hit two solo homers and the Colorado Rockies beat the Philadelphia Phillies 4-1 on Friday night.

Cody Asche singled through a shift to end Bettis’ no-hit bid with one out in the eighth. Bettis (2-0) lost a perfect game in the seventh when shortstop Tulowitzki made an error on Ben Revere’s grounder up the middle.

READ MORE: Supreme Court Overturns Roe v. Wade, Allowing States To Ban Abortion

The 26-year-old Bettis allowed two hits and tied a career-high with seven strikeouts in eight innings in his 12th start in the majors.

Tulowitzki had two homers in 154 at-bats this season before going deep his first two times up against Cole Hamels (5-4). Ben Paulsen hit a two-run homer for the Rockies, who won for the fifth time in six games.

Hamels had won his last four starts. The Phillies have lost five straight.

Colorado center fielder Charlie Blackmon made a sliding catch to rob Freddy Galvis of a hit after Revere’s grounder went through Tulowitzki’s legs. But Asche hit a sharp grounder that would have been a routine play for Tulowitzki except the two-time Gold Glove winner was shifted to the right-field side of second base.

READ MORE: Supreme Court's Roe v. Wade Decision Garners Strong Reactions In Philadelphia: 'It's Taking Away Basic Women's Rights'

Bettis allowed a bloop single to Carlos Ruiz one out later, but struck out pinch-hitter Darin Ruf to end the inning. Ruf appeared to check his swing and jumped up and threw his hands in the air when plate umpire Angel Hernandez ruled he swung. Phillies manager Ryne Sandberg earned his second career ejection an inning later after Hernandez called a close pitch by reliever Luis Garcia a ball.

Tulowitzki drove an 0-1 pitch deep into the seats in left for a 1-0 lead in the first. He connected on a 1-2 pitch in the third, sending another drive into the seats in left. Tulowitzki had just two hits in 14 previous at-bats against Hamels.

Bettis took a shutout into the ninth in an 11-2 victory over San Francisco in his previous start last Sunday. The right-hander is 3-5 with a 5.77 ERA in 41 career appearances.

The Phillies scored a run off closer John Axford in the ninth when left fielder Brandon Barnes made an error on Chase Utley’s deep fly to the wall, allowing Revere to score from second after he reached on a wild pitch while striking out.

MORE NEWS: Roe v. Wade Overturned: These US Companies Will Cover Travel Costs For Employees Who Need Abortion

(© Copyright 2015 The Associated Press. All Rights Reserved. This material may not be published, broadcast, rewritten or redistributed.)