Hamels pitched eight shutout innings and finally got some support from the offense in the Phillies' 6-0 win over the Mets on Tuesday night.
Hamels (6-5) has won three straight starts for the first time in almost two years, with 27 strikeouts and one walk in those victories.
''I'm able to throw everything in any sort of count,'' he said. ''That just puts all the momentum back onto my side.''
For a while, it looked as though this one might end like his last two, 2-1 wins over the Braves and Giants. But with the Phillies up 2-0 and two outs in the seventh, Mets starter Dillon Gee (4-4) suddenly lost his control.
Gee hit Ben Revere with a man on, then uncorked a wild pitch that put runners at second and third. After Gee walked Jimmy Rollins to load the bases, Josh Edgin came on for the lefty-lefty matchup against Utley.
The All-Star second baseman drilled a 2-2 pitch into the upper deck in right field for his fifth career grand slam and first since 2010. He has 32 career home runs against the Mets, second to teammate Ryan Howard (40) among active players. Rollins is third after hitting his 29th on Tuesday.
Hamels retired the final 13 batters to lower his ERA to 2.55.
''He just really got in a groove,'' manager Ryne Sandberg said. ''With the run support and the lead, he just pounded the strike zone.''
He wasn't throwing his fastball quite as hard Tuesday, but it didn't matter with the way his changeup left batters flailing.
''I bet I had four hitters come back and say the changeup's dynamic tonight,'' Mets manager Terry Collins said. ''He had it all working.''
A day after managing just one run off 13 hits, the Phillies scored six runs on seven hits thanks to three two-out homers. Rollins had a solo home run in the third, then Grady Sizemore added another in the fourth.
Sizemore's drive off the right-field foul pole was his first homer with the Phillies. The veteran outfielder was released by Boston on June 18 and signed a minor league contract with Philadelphia a week later.
Since being called up July 11, Sizemore is hitting .314 in 14 games.
''He's really shown professionalism as a hitter,'' Sandberg said. ''Tonight he showed some power. But he's been using the whole field and hitting for average and squaring balls up. I've been impressed.''
FRUSTRATED BY PHILLIES
Gee allowed five runs on five hits in 6 2-3 innings, striking out two and walking three. He has lost three straight starts.
''The most frustrating part is I thought I threw the ball a lot better than I had in the previous couple of outings,'' Gee said. ''When the end result still isn't there it's very frustrating.''
Gee's 7.11 career ERA against the Phillies is his highest against any opponent for at least two starts.
Hamels has pitched at least seven innings in 14 of his last 16 starts, with a 1.90 ERA over that stretch. He's allowed just two earned runs in 23 innings in his last three outings.
Phillies: Right fielder Marlon Byrd got the day off after fouling a ball off his foot in a four-hit night Monday. Sizemore started in his place.
Mets: Left-hander Dana Eveland was optimistic he could pitch Wednesday after the reliever was struck in the pitching elbow by a line drive Monday.
Zack Wheeler (5-8) starts for the Mets against Kyle Kendrick (5-10) on Wednesday afternoon in the finale of the three-game series.