The D-backs failed to trim the six-game gap between them and the National League West-leading Giants, who lost earlier in the day to the Padres, and they also missed an opportunity to pull closer to the second-place Dodgers, who fell to the Cardinals.
"It's discouraging. We know the Giants lost, we know the Dodgers lost, so that part of it is frustrating," D-backs manager Kirk Gibson said. "But we've won five out of six so far, and we've got the Mets coming in, so we've got to regroup and win this series as well."
Francis (3-2) allowed just two runs over six innings as he shut down an offense that had scored at least six run in each of its last seven games.
"I thought we were going to score a lot more runs off them tonight, but Francis did a good job," D-backs catcher Miguel Montero said. "He threw the ball good. I don't think he left that many balls in the middle. He just kept the ball down and mixed his speeds pretty good and just kept everyone off balance."
The Rockies jumped on Trevor Cahill for a run in the first inning when Dexter Fowler led off the game with a triple and scored when Marco Scutaro followed with a sacrifice fly.
The D-backs answered right back in the bottom half of the inning when Jason Kubel smacked his 22nd homer of the year to tie the game.
Scutaro put the Rockies back on top, 3-1, in the third with a two-run double down the line in left.
"I thought I made a real good pitch to Scutaro there, and he kept it fair somehow," said Cahill, who fell to 8-9. "I knew he was looking in and I wanted to expand in there and I did, and he somehow kept it fair. It was just frustrating when you're making your pitches and they're still getting hits."
One inning later, Wilin Rosario added a solo homer to give Colorado a 4-1 lead.
After the first-inning homer, Francis (3-2) did not allow another run until Montero led off the seventh with a homer to right.
It was just the second time in the past 43 games that a Colorado starter worked into the seventh inning, and it was Francis' first win over the D-backs since 2007.
"I don't know the numbers, but I know I have not done well against them," Francis said. "It's very gratifying. Regardless of whether I get or win in the stat column, the fact that I can come in here and help give this team a boost and help win some games. Hopefully it turns out well in the long run."
The D-backs are 5-1 on this homestand after sweeping the last-place Astros and taking two of three from the last-place Rockies. They have four-game series with the slumping Mets before embarking on a three-city, nine-game road trip that includes games with the Dodgers, Phillies and Pirates.
"The last five games, I know we played a last-place team, but if we keep playing like that ..." Montero said. "We've been playing good ball. It doesn't matter who we're playing, we're just playing good and if we keep playing like that we've got a good chance."