Updated

Madison Bumgarner hit a three-run homer on a night when he struggled on the mound and Brandon Belt drove in four runs, helping the San Francisco Giants hold on for a 9-8 win over the Colorado Rockies in rainy conditions Tuesday.

Belt broke a tie in the fifth with a two-run double. He also brought in a run on a fielder's choice and added a solo homer for the NL West leaders, who are 20-7 on the road since the All-Star break.

Bumgarner was roughed up by the Rockies, allowing five runs and 11 hits in 4 1-3 innings. The lefty gave the Giants a big boost, though, with his bat, sending a 93 mph fastball from Jhoulys Chacin into the left-field seats.