Maholm (9-6) allowed two runs on eight hits and a pair of walks as the Braves turned three double plays in the contest. The left-hander struck out three.
Freeman's clout in the third inning with Andrelton Simmons and Justin Upton aboard broke open a 1-1 tie and put the National League East-leading Braves on the path to a three-game sweep of the NL West leaders.
Arizona's Trevor Cahill (3-10) was roughed up for six runs on seven hits in a 4 1/3-inning effort.
A.J. Pollock supplied two hits and scored both runs for the Diamondbacks.