Francis kept Arizona's offense at bay for six-plus effective innings to lead the Rockies to a 4-2 victory, avoiding a three-game sweep.
With the win, the Rockies finished the six-game road trip with a 2-4 record and now head home for 10 games starting Friday.
The outing also showed that Francis, who averaged 76 pitches per start since June 21, still has the ability to pitch past the four-man rotation's pitch-count threshold, even if that's not what is needed now. He threw a season-high 97 pitches on Wednesday. His previous high was 94 pitches in his second start for the Rockies on June 15.
"We look like a very qualified baseball team when you got a guy that goes out there and does what he did tonight," Rockies manager Jim Tracy said. "I hope it's a lesson learned for some of our younger people. Eight of his last nine starts, he's five or five-plus innings every time and he leaves the game in the kind of shape he left it tonight. That's what you hope for."
Francis will return to the four-man-rotation guidelines when he steps on the mound next week, but for one night, he could play by his own rules, and he pitched into the seventh inning for the first time this season. His outing marked only the second time in the past 43 games that a Colorado starter worked into the seventh. The Rockies are 8-2 in games he starts and just as important, he's showing the young staff how to succeed on the mound.
"It's very gratifying," Francis said. "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."
Wednesday marked the first time Francis had beaten the D-backs since September 2007.
"I think it's what we needed," Francis said. "The bullpen has been pitching a lot of innings the past few games. I've got a couple of extra days' rest before my next start, so I'm glad I could go out there and spell them a little bit."
Francis retired the first two batters to start the game before giving up a solo home run to D-backs left fielder Jason Kubel to tie the game.
He would go on to retired nine of the 10 hitters that followed before walking D-backs right fielder Justin Upton with two outs in the fourth and the Rockies leading, 4-1. Francis pitched a scoreless fifth and retired the side in order in the sixth to bring his total to 95 pitches.
Francis' 96th pitch was curveball called for ball to D-backs catcher Miguel Montero. His 97th was launched into the right-field seats to end his night.
"He threw the ball good," Montero said. "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."
Francis had help. After the game, Tracy praised rookie catcher Wilin Rosario for his work behind the plate. During the game, Marco Scutaro's two-run double in the third inning gave the Rockies a 3-1 lead they would not relinquish. Rosario hit his 16th homer of the season in the fourth inning to extend the advantage to three runs.
"I've seen him some good games this year, but I have not seen him catch one like the way he caught tonight," Tracy said. "He looked like a big-time, bona-fide Major League catcher. I thought he received the ball well and he did a terrific job of blocking breaking balls in the dirt. It was terrific."