Elias Diaz had three hits, Randal Grichuk drove in two runs and the Colorado Rockies beat the Miami Marlins 5-4 in Denver on Tuesday night.
Pierce Johnson got the final three outs for his 10th save and second in as many nights for the Rockies.
Jorge Soler homered among his two hits, Garrett Cooper also went deep, Yuli Gurriel had three hits and Nick Fortes and Jon Berti had two hits each for Miami.
Soler got the Marlins started when he blasted the first pitch he saw from Austin Gomber over the wall in center field -- his 13th homer of the season.
Gomber, who has pitched well after a rough beginning of the season, settled down quickly after Soler's 456-foot blast. He retired 11 of the next 12 batters and eight in a row at one point.
Miami rookie Eury Perez looked poised pitching in the hitter-friendly park.
Colorado tied it in the fourth when Grichuk reached on Garrett Hampson's two-base error and came home on Harold Castro's single.
The Rockies struck again in the fifth. Michael Toglia led off with a walk; one out later, Blackmon hit an RBI double to center to make it 2-1.
It was his 298th career double, passing Larry Walker for second on the franchise list behind Todd Helton, who had 592.
After Perez walked Jurickson Profar, Huascar Brazoban relieved and gave up an infield single to Diaz and a two-run single to Grichuk.
Ryan McMahon beat out the relay to first on a potential double play to bring home the fourth run of the inning and make it 5-1.
Perez allowed four runs - three earned - on four hits in 4 1/3 innings.
The Marlins cut the deficit in half in the sixth. Berti led off with a walk and Cooper homered to right to chase Gomber, who allowed three runs on four hits in 5 2/3 innings.
Miami got a run in the ninth when Berti singled and scored on Soler's double.
--Field Level Media