Hammel was in trouble from the start, walking the first three batters of the game, and the Phillies took advantage for an 8-6 win Wednesday.
The loss was the fourth straight for the Rockies, who fell a season-most nine games below .500 and were swept for the first time this year in a series at Coors Field, where they are 26-29.
"This one's on me," said Hammel, who gave up six runs in five innings. "I thought the guys played great today. To get four or five runs off of Halladay, that's a big deal. And for us not to capitalize on it, for myself not throwing strikes — one big inning hurt us."
Halladay (14-4) gave up five runs in seven innings, just the second start this season in which he has surrendered that many.
Hammel (6-11), whose season has been a struggle since he went 3-1 in April, had problems from the outset. He walked the bases loaded in the first, but was fortunate to escape by giving up just one run on Hunter Pence's sacrifice fly.
Helped by first baseman Ryan Howard's two errors on Dexter Fowler's ground ball, the Rockies scored twice in their half of the first. It turned out the only time they led, because Hammel gave up four two-out runs in the second. Jimmy Rollins singled home the first run and took second on right fielder Seth Smith's ill-advised throw home.
Howard added a two-run homer off Rex Brothers in the sixth.
Hammel has been one of the bigger disappointments for the Rockies this season. After winning 10 games each of the past two seasons, both Hammel and the Rockies expected him to increase that victory total. And before this game, manager Jim Tracy called the matchup with Halladay "a wonderful challenge" for Hammel, one he possibly could use "as a springboard game as far as throwing him in the pool we'd like him to be in."
Instead, Hammel lost his third straight start at Coors Field dating to July 3, and he has allowed six runs in each of those games.
He loaded the bases with two out in the fourth and threw a wild pitch that enabled Halladay to score ahead of a throw to Hammel from catcher Chris Iannetta. Hammel left after throwing 95 pitches, just 55 strikes, and Brothers struck out the first two batters he faced in the sixth.
But Chase Utley singled, and Howard hit his third homer in two games to give the Phillies an 8-5 lead. The Rockies were able to once in the second, third and fifth innings against Halladay.
Todd Helton homered with one out in the eighth off Antonio Bastardo to make it 8-6. Troy Tulowitzki followed with a single, but Bastardo struck out Smith and Ian Stewart. Brad Lidge retired the side in order in the ninth to earn his first save.
"Not a lot of fun losing ballgames," Helton said. "I think the frustrating part is coming out of spring training, we thought we had a really good ballclub and (we) just haven't played up to our potential for whatever reason."
The Rockies finished 1-4 this season against the Phillies, who lead the majors with 71 wins and are 32 games above .500. The teams met in the playoffs in 2007 and 2009, the Rockies winning a division series the first year and losing the second. This series pointed up the stark contrast between the teams.
"You look at our team and we have pieces, but it's not a complete package," Tulowitzki said. "And that's just talking about the lineups. You look at pitching staffs, obviously it doesn't hurt to have five solid starters as well. Here and there, they might not have their normal starts, but for the most part, they're eating innings, so it's really easy to see the difference.
"It's where you strive to get. We can definitely get there. We have some pieces. But there has to be some other guys that realize this game's about trying to win, and every guy to a T on their team looks like they're just playing the game to win. I'm not saying that's not the case here, but we have a lot of outside distractions as well. You have some guys that are (eligible for) arbitration their first year, maybe worried about not the right thing."
NOTES: Outfielder Carlos Gonzalez (right wrist) will begin a three-game rehab at Triple-A Colorado Springs and is scheduled to be reinstated Saturday from the 15-day disabled list. Gonzalez is scheduled to play seven innings in left field Wednesday and nine innings in center on Thursday and nine in right on Friday. ... Helton tied his season-high with three RBI, his third three-RBI game of the season. ... Esmil Rogers will start Thursday against Washington. He is replacing Ubaldo Jimenez in the rotation and will make his first start for the Rockies since April 25. ... Rockies 2B Mark Ellis snapped an 0-for-25 slump with a single in the fourth.