Hamels (7-7) struck out three, walked three and didn't allow a run for the first time in 18 starts this season. J.C. Romero fanned the only batter he faced in the ninth, and Brad Lidge got the final two outs for his sixth save.
It's the first time Philadelphia has had consecutive 1-0 wins since April 18-19, 1913, according to the Elias Sports Bureau. Rollins won Saturday's game with an 11th-inning single after Reds starter Travis Wood took a perfect game into the ninth.
The Phillies scored six times in the ninth to tie the game Friday night and won on Ryan Howard's two-run homer in the 10th. Brian Schneider hit a game-ending homer in the 12th on Thursday night, also against the NL Central-leading Reds.
They only needed Hamels and nine innings to send the Reds stumbling into the All-Star break.
The left-hander tossed the best game of his season to win for the first time since June 13, after going 1-5 over his last eight starts. Hamels worked out of a bases-loaded jam in the fourth and was never in serious trouble after that.
He was yanked after surrendering a two-out double to All-Star Joey Votto in the eighth, and Hamels walked off to a standing ovation from the 84th straight sellout at Citizens Bank Park. Jose Contreras walked Scott Rolen, then retired Gomes on a grounder to end the late rally.
The Phillies went 0 for 2 on replays after two doubles were not changed into home runs.
Carlos Ruiz led off the third inning with a ground-rule double when a fan reached over the fence and touched the ball. Phillies manager Charlie Manuel came out to argue and the play went under a brief review. The double stood and Ruiz scored on Rollins' single.
Jayson Werth hit a drive to deep center in the fourth that was caught by a fan, and Manuel sauntered out to protest that the ball had cleared the wall. Replays clearly showed the fan leaned over the rail and Werth had a double.
Matt Maloney (0-2) allowed a run and four hits in six innings, but the Reds remain stuck on 49 wins. They were trying to win 50 before the All-Star break for the first time since 1994. Instead, they were swept in a four-game series in Philadelphia for the first time since 1975.
Notes: Howard was hit by a pitch twice. ... Phillies 3B Placido Polanco (elbow) will head to Clearwater, Fla., on Tuesday and begin a minor league rehab assignment by the end of the week. ... Manuel, his coaching staff and Howard, Chase Utley and Roy Halladay were presented with their All-Star game jerseys during a pregame send off. ... The Phillies were the first team to have three straight game-ending wins against the same team in extra innings since Seattle vs. Texas in 2002.