Francis, Rosario lead Rockies over D-backs 4-2
Dexter Fowler went 3 for 4 with a triple, stolen base and two runs scored, and Marco Scutaro added a two-run double and drove in three runs for the Rockies, who won for the second time in eight games.
Francis (3-2) allowed two runs on five hits, struck out four and walked one.
Rafael Betancourt pitched the ninth for his 17th save.
Jason Kubel and Miguel Montero homered for the Diamondbacks, whose winning streak ended at five. Arizona had also won its past eight home games.
Arizona starter Trevor Cahill (8-9) went 6 2-3 innings, allowing four runs on eight hits and two walks. He struck out six, including the side in the second.
Montero homered just into the right-field stands leading off the seventh inning to pull Arizona within 4-2 and end Francis' night well past the Rockies' 75-pitch limit for their starters. Francis threw 64 of his season-high 97 pitches for strikes.
Fowler tripled to right-center to lead off the game and scored on a sacrifice fly to give the Rockies a 1-0 lead. Kubel tied it 1-1 in the bottom half with his team-leading 22nd home run, an opposite-field shot a dozen rows into the left-field stands.
Francis reached on a fielders' choice, Fowler singled and Scutaro doubled down the left field line to put Colorado back in front 3-1 in the third. Rosario followed with his 16th home run with two outs in the fourth to make it 4-1.
NOTES: Francis snapped a six-game losing streak vs. Arizona, beating the Diamondbacks for the first time since Sept. 28, 2007. . The left-handed Kubel has a career-high five home runs against southpaws this season. . Kubel's 11 home runs in July are tied for the third-most in a single month in club history. Luis Gonzalez set the mark with 13 home runs in April 2001. . Fowler has 49 career triples for the Rockies, tying Neifi Perez for the franchise record. . Montero was catching his 538th career game, passing Chris Snyder for the franchise lead. . After an off-day on Thursday, LHP Christian Friedrich will take the mound for the Rockies against Cincinnati RHP Bronson Arroyo on Friday. Friedrich ranks third in club history with 73 strikeouts in his first 15 career starts. . Arizona opens a four-game set against the New York Mets on Thursday with LHP Wade Miley pitching against RHP Matt Harvey in the right-hander's major league debut. Miley has allowed one run or less in four of his last five home games.