McCann hit a grand slam on Friday, a solo shot on Saturday, then hit the go-ahead homer in the seventh inning off Raul Valdes (2-2).
McCann has homered in four straight games overall and has helped Atlanta head into the All-Star break on a four-game winning streak.
The five-time NL East champion Phillies are staggering heading into the break. They have lost 10 of 11 games and are 13 games under .500 (37-50). The Phillies lost 60 games all of last season.
Jason Pridie homered, doubled and had three RBIs as a last-minute replacement for Shane Victorino. The Phillies did not say why Victorino was scratched after the badly slumping outfielder was scheduled to hit seventh.
McCann's two-run homer against the Chicago Cubs on Thursday to snap a 58 at-bat streak without going deep was a preview for his Philadelphia power show. His 13th homer off the season on a straightaway solo shot made it 4-3 and made a winner out of starter Jair
Jurrjens (3-2). Jurrjens allowed six hits, three runs and struck out four over seven innings to win his second consecutive start. He's 5-1 against the Phillies over his last eight starts.
Craig Kimbrel worked a scoreless ninth for his 25th save.