PHOENIX -- Give Brandon Webb a run or two, and he's tough to beat. Hit three two-run homers behind him, and it's an Arizona breeze.
Hudson said that there undoubtedly will be tough times ahead, "but I say ride the wave while it's high."
Webb (3-0) gave up two runs on four hits in eight innings. The Arizona ace struck out six and walked one to beat the Rockies for the second time this season.
In the past, Webb has struggled against Colorado. Not this year.
"That's the best I've felt in a long time," he said. "I had almost all my pitches going. When I needed them, they were there."
Colorado hitters had to guess whether Webb was coming with a sinker, curve or change-up.
"It's like trying to catch a chicken," Rockies manager Clint Hurdle said. "Every time you think you've got a bead on it, it was gone."
All three Arizona home runs came off starter Jeff Francis, whose outing was pushed back a day when the Rockies' scheduled home game against Atlanta was snowed out Thursday night. The Diamondbacks are tied with Florida for the most home runs with 20 - in 10 games. Six of the homers have come against Francis.
"There's no question they're a good team," Francis said, "but I think I'm a better pitcher than that."
Upton's soaring, 428-foot shot with no outs in the sixth ended Francis' night. It was the 20-year-old Upton's fourth home run of the season. Entering his first full season in the majors, Upton is batting .368.
"He's got some power. I don't know if you've noticed that," Diamondbacks manager Bob Melvin said. "He's riding a confidence wave right now, and that's something I think is big for him early in the season."
Francis (0-2) has had two starts, both losses against Arizona with Webb on the mound. He gave up seven runs on seven hits in five-plus innings.
"His stuff isn't where it can be," Hurdle said. "His command is not where it has been, where it needs to be. His pitch efficiency isn't where it needs to be. Obviously, three two-run homers -- two of them walks followed up by homers -- there's work to be done."
All seven of the Diamondbacks' victories in the streak have come against NL West foes, four against the Rockies -- a team that swept Arizona in last year's NL Championship Series -- and three against the Los Angeles Dodgers.
Last year, Arizona squeaked by on one-run victories. Early this season, there have been mostly blowouts.
"It started off three games in a row with a run in the first inning for me," Webb said. "I can't say enough about the hitters. They've been doing an unbelievable job. Give all the credit to them."
The Diamondbacks got a run in the first when Chris Young beat out an infield chopper for a single, then Byrnes singled. After Hudson beat out a potential double-play ball, Conor Jackson brought Young home with a sacrifice fly.
Colorado tied it with a run in the second when Matt Holliday singled, Brad Hawpe walked and both runners advanced on a wild pitch. Holliday scored on Garrett Atkins' sacrifice fly.
Young singled to start the third, then Byrnes lined a 1-0 pitch over the fence down the left field line for his second home run of the season, and Arizona led for good 3-1.
Francis retired the first two batters in the fifth, but Byrnes walked, then Hudson homered into the seats in left-center and it was 5-1.
Webb retired 11 in a row before a two-out single by Jayson Nix in the fifth. Colorado scored in the seventh when Willie Taveras led off with a bunt single, stole second, took third on a fly out and scored on Holliday's RBI single.
Mark Reynolds led off the sixth with a walk, then Upton squared up on the 0-2 pitch to make it 7-2.
The Diamondbacks are celebrating the franchise's 10th birthday this weekend. On Friday night, several players -- plus manager Buck Showalter -- from the inaugural 1998 team were introduced before the game. ... Arizona is in the midst of 22 games in a row against NL West opponents. ... Francis has allowed 12 runs in 11 1/3 innings -- plus two batters -- against Arizona this season. ... Reynolds singled in a run for his major-league best 14th RBI.