Aaron Hill drove in a pair of runs in the 12th inning as the D-backs held off a late rally by the Giants, who fell to their seventh straight loss.