Jason Heyward and Andrelton Simmons each added two hits and an RBI as Atlanta took the opener of a three-game series.
Tim Hudson (6-3) dominated the Diamondbacks for eight innings, allowing one run on seven hits, and winning for the third time in four starts. The right-hander yielded one walk and struck out seven.
Diamondbacks starter Daniel Hudson (3-2) lasted only 1 2/3 innings before being pulled from the game with a sore elbow. He was roughed up for five runs on seven hits.
Jason Kubel knocked his fourth homer in five games to supply Arizona's only run.