Martin Prado had a pair of solo homers and Matt Diaz also connected for the NL East-leading Braves, who roughed up Jamie Moyer (9-8).
The two-time NL championship Phillies fell six games behind Atlanta with their seventh loss in 10 games.
Ryan Howard and Shane Victorino homered for Philadelphia.
Medlen (6-1) allowed four runs and seven hits in 6 2-3 innings. The Braves are 10-1 in his starts this season.
Billy Wagner tossed a perfect ninth for his 19th save in 22 chances.
The 47-year-old Moyer allowed seven runs and seven hits in 5 1-3 innings. The soft-tossing lefty failed in his second attempt at reaching 10 wins for the 16th time in his 24-year career.
Howard put the Phillies ahead 3-1 with an opposite-field, two-run shot in the fifth, but the Braves quickly answered.
Prado went deep with one out to cut it to 3-2. Omar Infante singled, Chipper Jones doubled and Troy Glaus walked to load the bases. McCann knocked them all in with a shot to left-center.
Diaz then hit one out to straightaway center to chase Moyer and give the Braves a 7-3 lead.
Victorino ended Medlen's night with a two-out homer in the seventh. Pinch-hitter Ben Francisco's RBI single off Takashi Saito cut it to 7-5 in with two outs in the eighth.
But Saito retired Juan Castro on a pop-up to strand two runners.
Prado drove Moyer's third pitch into the seats in left for a 1-0 lead and his third career leadoff homer — all this season.
Jimmy Rollins hit a two-out RBI double to tie it at 1 in the second.
Notes: Atlanta is 14-1-3 in 18 series since losing two of three in Philadelphia in May. ... Prado has both of his career multihomer games this season. ... Braves OF Nate McLouth will begin a rehab assignment on Friday. ... Phillies relievers Chad Durbin and Antonio Bastardo will start their rehab stints on Saturday. ... A crowd of 44,282 was the 80th straight sellout at Citizens Bank Park.