Alex Gonzalez's solo home run in the third 0 victory to complete a three-game sweep over the Diamondbacks.
Hudson (13-7) allowed just three hits and three walks while fanning seven to continue his dominance over Arizona. He is now 6-0 in eight career starts against the D-Backs.
Craig Kimbrel put the game-tying run on third in the ninth, but worked out of the jam to record his 39th save of the year.
Josh Collmenter (7-8) allowed one run on four hits through seven innings for the tough-luck loss. He walked three and struck out four in Arizona's fifth straight loss.