Dan Uggla and Justin Upton, making his Braves debut, also homered for Atlanta, which led National League teams with 49 in spring training.
Hamels (0-1) struggled in his first opening day start. He gave up five runs on seven hits, including the three homers, with five strikeouts and one walk in five innings. The three homers allowed matched his high from last season.
The Braves brought out some of their past stars for pregame ceremonies. Dale Murphy was the honorary captain, newly retired Chipper Jones threw out the first pitch - firing a strike to Brian McCann - and Phil Niekro was handed a microphone and yelled "Play ball!"
Jones retired after last season, ending a career that lasted almost two decades - all with the Braves. "I'm missing it today, but I won't miss it tomorrow," Jones said as he sat in the Braves' dugout before the game.
Tim Hudson gave up six hits and three runs in 4 1-3 innings. Hudson had a 4-0 lead before Chase Utley led off the fourth with a homer and drove in two runs with a bases-loaded single in the fifth. Utley tripled in the seventh for his third hit and scored on Ryan Howard's groundout.
Luis Avilan (1-0) took over for Hudson and pitched 1 2-3 scoreless innings. Craig Kimbrel pitched a perfect ninth inning for his first save.
Freeman led the Braves with seven home runs in spring training. Hitting cleanup in Atlanta's new-look lineup which includes outfielders Justin Upton and B.J. Upton, Freeman gave Atlanta the lead with his two-run homer into the Braves' bullpen in the first inning. The two-out homer drove in Jason Heyward, who walked.
Uggla led off the second inning with the Braves' second homer into the left-field seats. Justin Upton added a line-drive homer to left-center in the fifth.
Upton's homer came after Utley's bases-loaded single off Hudson in the top of the fifth cut Atlanta's lead to 4-3.
Atlanta scored two runs off Chad Durbin in the sixth. Durbin walked Uggla, who moved to third on Chris Johnson's double. Gerald Laird added a run-scoring single and Johnson scored on pinch-hitter Reed Johnson's double-play grounder.
John Mayberry Jr. doubled off Jordan Walden in the eighth, moved to third on Walden's wild pitch, and scored on a single by Eric Kratz.
Notes: Attendance was 51,456, a sellout. ... SS Jimmy Rollins made his 13th consecutive opening day start, the longest active streak in the majors. He passed Larry Bowa (1970-81) for the Phillies' longest streak by a shortstop. ... The Braves had no update on LHP Jonny Venters, who opened the season on the 15-day disabled list with a sprained elbow and was examined Monday by Dr. James Andrews. ... The teams are off Tuesday. Philadelphia RHP Roy Halladay will face Atlanta LHP Paul Maholm on Wednesday night. ... Hamels ended Halladay's streak of 10 straight opening-day starts. ... Former Braves manager Bobby Cox, sitting near the Atlanta dugout, drew an ovation when he was shown on the video board. Cox stood and waved to the fans.