Victor Vodnik (1-0) pitched two innings and Tyler Kinley earned his fourth save for Colorado (56-92), which earned its first series win from an NL West opponent this season. The Rockies earned their fifth straight victory, including a 9-5 win in Saturday's first game.
Wilmer Flores and Patrick Bailey had two hits for San Francisco (75-74), which trails Cincinnati by 2 1/2 games for the final NL wild card.
The Rockies struck in the first inning. Tovar reached on shortstop Paul DeJong's error, stole second and scored on Bryant's double to right. Bryant scored on Elehuris Montero's single to make it 2-0. Jakob Junis relieved opener Scott Alexander and struck out Elias Diaz to end the inning.
San Francisco got a run back in the second when it strung together three consecutive two-out singles, the last by Mike Yastrzemski, off of Rockies starter Kyle Freeland.
Freeland left after allowing one run on four hits in three innings due to a mild right oblique strain, the team announced.
Colorado added to its lead in the bottom of the third.
Blackmon led off with a triple down the right-field line and scored on Tovar's single. Tovar took second on Junis' wild pitch and third on catcher Patrick Bailey's throw to the bag. He then scored on another wild pitch by Junis to make it 4-1.
The Giants got a run back in the sixth when Estrada led off with a single and went to third on a single by Flores and scored on a sacrifice fly off the bat of Mitch Haniger.
Reliever Matt Carasiti gave up a single to put runners on the corners but then got Bailey to ground into an inning-ending double play.
Colorado answered in the seventh when Blackmon led off with a double, went to third on a sacrifice and scored on Bryant's single to center to cap the scoring, 5-2.
—Field Level Media