DENVER (AP) Even when Madison Bumgarner is in damage control-mode, he's tough to beat.
Buster Posey connected for his 100th career home run and Matt Duffy hit a tiebreaking, two-run triple in a five-run fifth, backing a gritty effort from Bumgarner as the San Francisco Giants beat the Colorado Rockies 7-4 Sunday.
Bumgarner (17-7) went six innings and allowed four runs and nine hits, twice working out of bases-loaded situations and keeping the game under control in hitter-friendly Coors Field. He walked one and struck out three in helping the Giants salvage a split of the four-game set and win successive games on the road for the first time in a month.
''Any time you get a win at Coors Field, that's gratifying in itself,'' Bumgarner said. ''And also when you're not having maybe your best game and you still find a way to win, that's definitely a big plus for you and something you can feel good about.''
Duffy said Bumgarner's tenacity at key moments made all the difference.
''For him to get out of those situations, it was kind of the tipping point there in that game,'' Duffy said.
Duffy also helped swing the game in the Giants' favor, tripling off Yohan Flande (3-2) after consecutive singles by Gregor Blanco and Kelby Tomlinson. Flande intentionally walked Posey and was relieved by Brooks Brown. Marlon Byrd, who had four hits on the day, greeted Brown with an RBI single.
Rex Brothers relieved and walked Brandon Belt before Brandon Crawford laced a two-run double to center.
The Rockies had the bases loaded with none out in the fifth when Cristhian Adames hit a two-run single, pulling Colorado within three runs.
But Bumgarner then got hot-hitting Nolan Arenado to ground into a double play before retiring Carlos Gonzalez on a lineout to first.
''When you have a guy like Bumgarner and you give him a second chance, I don't think he's going to waste that opportunity,'' Gonzalez said. ''We tried hard. We had some opportunities. That line drive hit to first base, that should have been 7-5. It's a different game. But it is what it is - part of the game.''
Santiago Casilla pitched a perfect ninth for his 32nd save in 37 opportunities.
Arenado finished with a double and a run-scoring fielder's choice, snapping his team-record home run streak at six games.
Down 2-0 early, the Giants evened the score when Posey led off the fourth with his 17th home run of the season, driving an offering from Flande into the Rockies bullpen behind the right-center field fence.
The Rockies loaded the bases with none out in the first, but Bumgarner then retired the next three batters, limiting the damage to two runs on a fielder's choice by Gonzalez and a sacrifice fly by Wilin Rosario.
A SWEET SWING WITH A SMILE
Posey's 100th homer was his first in a month, but that did not diminish the sweetness of achieving the milestone. ''It's special,'' he said. ''If you had told me when I was kid that I'd have 100 home runs in the major leagues one day, it would probably put a pretty good smile on my face.''
Giants: C Hector Sanchez will miss the rest of the season after suffering a left ankle sprain and strained left hamstring running out a sacrifice bunt during Friday's game. ... C Andrew Susac has been placed on the 60-day DL because of a lingering right wrist injury. ... OF Nori Aoki has experienced some post-concussion symptoms and was being sent to Pittsburgh, where he will be examined later this week by Dr. Michael Collins, a concussion specialist.
Rockies: LF Corey Dickerson, on the disabled list with a right rib fracture, was scheduled for a minor league rehab assignment and is slated to rejoin the team Monday in Arizona to get a fresh evaluation of the injury. ... C Nick Hundley left the game in the seventh inning with neck stiffness. He's listed as day to day.
Giants: Continuing a 10-game road trip, the Giants send Mike Leake (9-7) to the mound for the opener of a three-game set at Arizona.
Rockies: RHP Kyle Kendrick (6-16) will be seeking his first win since late July when he starts the series opener Monday at San Diego.