Colorado won its fourth in a row and has captured eight out of 10. The Rockies have won eight straight times on the Mets' home field.
Rosario's homer, his 20th of the season, gave Colorado a 2-1 lead and the Rockies added a run in that inning when Tyler Colvin scored on a fielder's choice grounder.
After New York cut its deficit to 3-2 in the eighth, Chris Nelson singled in Colvin in the ninth and then scored on a double by pinch-hitter Josh Rutledge.
The Mets have been held to two runs or fewer for five straight games, their longest such streak in nine years.
The homer by Rosario came off Ramon Ramirez (2-3), the second of five New York pitchers. It was the Mets' fourth straight loss.