Hamels (11-5), making his first start since signing a six-year, $144 million contract on Wednesday, set a career high with six walks in his shortest start of the season. He allowed five runs, three earned, on four hits with seven strikeouts in five innings.
The loss ended Philadelphia’s four-game winning streak and cost the Phillies a chance to move out of last place in the NL East.
Sheets (3-0) won his third consecutive start, allowing one run on six hits and one walk with four strikeouts in six innings.
The Braves began the night five games behind first-place Washington in the NL East.
Sheets, who missed all of last season while recovering from elbow surgery, signed a minor league contract on July 1 and had his contract purchased by the Braves on July 15.
Sheets did not allow a run while winning his first two starts in his comeback with Atlanta. That streak of 12 scoreless innings ended before he recorded an out against the Phillies.
Jimmy Rollins led off with a single and scored on Shane Victorino’s double to the gap in right-center.
The Braves, helped by Hamels’ control problems and a fielding error by third baseman Mike Fontenot, scored two unearned runs in the second. The inning could have been bigger; Chipper Jones was picked off second base after his leadoff double.
Hamels walked Freddie Freeman, Dan Uggla and Paul Janish to load the bases with two outs. Sheets’ grounder bounced under Fontenot’s glove for an error, allowing Freeman to score. Michael Bourn’s single to left field drove in Uggla, giving the Braves a 2-1 lead.
McCann has six home runs and 16 RBI in six games against the Phillies this season.