The Rockies scored 11 times in the fifth inning, six of the runs driven in by Gonzalez, to snap New York's three-game winning streak.
Colorado was helped along by an ugly night in the field for the Mets. New York committed six errors, four of them coming in the big fifth inning, leading to seven unearned runs.
Facing a 6-2 deficit heading into the fifth, Colorado sent 15 men to the plate in the inning. Gonzalez and Fowler both had three-run homers during the frame, and when Gonzalez came up for the second time in the inning he delivered a three-run double.
Hernandez tacked on a grand slam homer in the seventh as part of a 19-hit attack.
Matt Reynolds (3-0) was credited with the win after throwing one scoreless inning.
Manny Acosta (0-1) came on in relief in the fifth and retired only one batter to take the loss. He allowed seven runs, four of which were earned.
Costly malfunction causes beer flood at Boston-area brewery
Megyn Kelly: Santa Claus and Jesus are both white men