DENVER -- Arizona manager Bob Melvin said before Friday night's game that he was waiting for Colorado Rockies rookie shortstop Clint Barmes to come down to earth.
He better pull up a chair. This could take a while.
Barmes hit two homers, had a career-high five RBI and made a leaping grab to help Jeff Francis win for the first time in a night game, lifting the Rockies to an 18-3 victory over the Diamondbacks.
"I'm just happy when I see him show up," Rockies manager Clint Hurdle said. "He's just working and playing and at the same time having a lot of fun doing it."
Barmes has been the surprise of what has been a mostly disappointing season for the Rockies, his flashy glove and quick bat among the few positives for fans at Coors Field.
The rookie opened the season with a game-ending, two-run homer and hasn't slowed down, leading the majors with a .400 average and getting at least two hits in six of his last seven games.
Barmes finished 3-for-6, hitting a solo homer in the fourth inning, a three-run shot in fifth and a run-scoring double in Colorado's nine-run seventh. He also speared Tony Clark's liner in the fifth, saving at least two runs for Francis.
"Not a bad night, I guess," Barmes said.
Garrett Atkins also homered and had three RBI, and Matt Holliday finished 4-for-5 for Colorado, which scored its most runs since getting 20 against Arizona on Sept. 23, 2003. The Rockies had a season-high 19 hits, 10 for extra bases.
That was more than enough for Francis (3-1).
He had had been superb during the day, going 5-0 with a 2.70 ERA in seven starts, but was 0-3 with an 8.88 ERA in five night games. The lanky left-hander didn't have any problems under the lights this time, using his deceptive motion and command of the corners to hold the Diamondbacks to three runs and five hits in five innings despite getting the ball up in the zone at times.
Francis improved to 4-0 with a 3.03 ERA in five career starts at Coors Field.
"It wasn't his best stuff, but he stayed away from the big inning and put us in a good position at the time he left the game," Hurdle said.
Arizona starter Brad Halsey (2-2) wasn't quite as effective in his first career start at the hitter-friendly field.
He allowed eight runs -- four earned -- eight hits and walked four in 4 2-3 innings, the second straight game he's allowed four earned runs after giving up three or less in his first six starts.
"I don't think I treated pitching here differently than any other game," Halsey said. "I went out there and went after guys, they just did their job of hitting pitches."
Halsey's problems started in the second inning with a bases-loaded walk to Francis, a career .041 hitter, and his defense didn't help much, either.
The run in the second came after third baseman Troy Glaus' throwing error and two miscues by shortstop Royce Clayton -- a fielding error and a ball that got stuck in his glove -- led to three runs in the third.
"It was a bad night all around," Melvin said. "You are going to have games like that and it just snowballed on us. You hate to lose any game and you hate to lose like that, but what are you going to do?"
Francis breezed through the first three innings, allowing one hit and two baserunners. He gave up Glaus' 11th homer, a solo shot in the fourth, then got himself in trouble in the fifth with a one-out walk of Halsey, who is 0-for-12 this season. That led to run-scoring singles by Clayton and Luis Gonzalez that cut Colorado's lead to 5-3.
Francis got out of the inning thanks to Barmes' leaping catch and was pulled for a pinch hitter in the bottom half.
"Sometimes it's not pretty, but with the offense scoring runs like that that's all we want to do," Francis said.
Colorado's Todd Helton struck out in the first inning, ending his string of reaching base safely at seven straight plate appearances. ... Colorado had five doubles in the seventh inning.