The Marlins captured three of their four games in Colorado, successfully emerging from a wild ninth inning in which the teams combined to score seven runs.
The game was delayed for 1 hour, 33 minutes between the seventh and eighth innings.
Miami owned a 1-0 lead heading into the ninth with the only run to that point having scored in the eighth on a wild pitch by reliever Adam Ottavino.
The Marlins then got to Wilton Lopez for four runs in the ninth with Giancarlo Stanton's double driving in one run and a single by Ed Lucas bringing home another. Solano then came through with his second home run of the year and the fourth of his 137-game career.
Kevin Slowey took the mound for the Marlins in the bottom half of the inning and promptly gave up three runs, two of them earned. Steve Cishek finally got Jonathan Herrera to ground into a double play to end the contest. It was Cishek's 20th save.
Dan Jennings (1-1) worked the seventh inning to claim the victory. He relieved Nathan Eovaldi, who threw six shutout innings.
Ottavino (0-2) was stuck with the loss, having come in to replace Juan Nicasio after the rain delay.