With the score tied 1-1, Herrera led off the eighth by laying down a bunt single, took second on pitcher Josh Edgin's fielding error on the play and went to third on Chris Nelson's pinch-hit sacrifice. With Charlie Blackmon at the plate, Herrera scored when Mets catcher Kelly Shoppach couldn't handle a pitch from Edgin (1-1).
Ramon Hernandez added an insurance run with a ninth-inning RBI single and the Rockies hung on to claim the opener of a four-game series.
Tyler Colvin homered to provide Colorado's other run.
Rex Brothers (7-2) earned the victory with 1 1/3 scoreless relief frames. Matt Belisle got the final out of the eighth inning and Rafael Betancourt earned his 24th save despite allowing a hit and a walk in the ninth.
Daniel Murphy got the only RBI for the Mets, who fell to a season-worst eight games under .500 (57-65).