Andrelton Simmons and Dan Uggla also homered for Atlanta, which amassed 19 hits while snapping a three-game skid. Brian McCann had four hits and Simmons was a double shy of the cycle for the Braves.
Hudson (5-7) allowed one run on five hits to earn his first victory since May 5. The right-hander had been 0-6 with a 4.50 ERA in his last 10 starts. He struck out four and did not walk a batter.
Hudson, who retired the final 11 batters, looked more like the dominant pitcher who has made three All-Star appearances than the one who has struggled over the last two months.
Hudson, who had his start pushed back a day due to neck stiffness, also the run support that he hadn't been getting. He received 10 runs on Saturday after getting 14 combined during his winless streak.
The Braves scored in every inning except the third and sixth innings.
Michael Young homered for Philadelphia, which fell 8½ games behind the first-place Braves in the NL East.
The Phillies also suffered a blow prior to the game when the team placed slugger Ryan Howard on the 15-day disabled list because of left knee inflammation. Howard will get an MRI in the next day or two, according to general manager Ruben Amaro.
Kyle Kendrick (7-6) gave up six runs and 12 hits in five innings. Kendrick was pitching for the first time since sustaining a mild concussion last Saturday after being hit on the helmet by a pitch against the Dodgers.
The Braves jumped in front when Simmons led off the game with a homer to left, then went ahead 3-0 on Uggla's two-run homer in the second.
Atlanta tacked on a run in the fourth and two more in the fifth, including Hudson's RBI single, before Heyward's three-run homer in the seventh put Atlanta ahead 10-1.
The Phillies got their runs on Jimmy Rollins' RBI single in the third, Kevin Frandsen's pinch-hit sacrifice fly in the eighth and Young's two-run homer in the ninth.
Earlier Saturday, Phillies Cliff Lee and Domonic Brown were named to the All-Star team. Lee, who is making his fourth appearance, is 10-2 with a 2.73 ERA. Brown entered Saturday batting .273 with 22 homers and 60 RBIs. He will be making his first All-Star appearance.
Braves closer Craig Kimbrel was selected to the team for the third straight year. He has converted 23 of 26 save opportunities and is 2-2 with a 1.72 ERA this season. First baseman Freddie Freeman is one of the final five candidates for the NL squad. Fans can vote online until Thursday.