Hudson (1-0) was making his first start since July 24 after fracturing his right ankle against the Mets while pitching for the Braves. The veteran right-hander had four strikeouts and no walks, and had Arizona hitters pounding the ball into the ground.
Arizona starter Trevor Cahill (0-1) held the Giants scoreless until the fifth. Angel Pagan singled in a run in the fifth and Michael Morse doubled in a run in the sixth to make it 2-0.
Sergio Romo shut down the Diamondbacks in order to record his second save.