It sure took a while.
Cook went six innings for his first victory of the season, and Dexter Fowler and Mark Ellis each had three hits and drove in a run as the Colorado Rockies beat the Arizona Diamondbacks 8-4 on Friday night.
"It's good to get that monkey off my back, get a win and give us a chance to win a ball game," said Cook, the Rockies' career leader with 70 wins. "It was aggravating, being on this team as long as I've been here and not being able to contribute to the wins."
Cook (1-5) allowed four runs and eight hits for his first win since Sept. 8, 2010, against Cincinnati. He also went 2 for 3, scoring a run and driving in another.
More impressive to Rockies manager Jim Tracy was the right-hander's ability to escape the sixth inning with only one allowed despite an outfield misplay leading to Miguel Montero's leadoff triple.
"He is very well-grounded and I give him credit," Tracy said. "We put him in what was a 3-3 game and put him in a very tough spot. He did a tremendous job of getting out of that inning with just the one run."
Fowler finished 3 for 5, needing only a home run for the cycle, and scored twice. Ellis was 3 for 4 with two runs scored and a stolen base. Troy Tulowitzki also doubled and drove in a pair of runs for the Rockies, who have won three of their past four.
Fowler doubled, and Hudson hit Ellis and Todd Helton with pitches to load the bases. Hudson retired Tulowitzki on a run-scoring grounder to short to tie the game at 4. But Seth Smith followed with a sacrifice fly to center off reliever Joe Paterson to give the Rockies their first lead.
Colorado added two more runs in the eighth off Sam Demel. Eric Young Jr. drew a two-out walk and scored on a triple by Fowler high off the center-field wall. Ellis then lined a single to right, scoring Fowler to make it 7-4.
"We made it really tough on ourselves," Diamondbacks manager Kirk Gibson said. "We didn't make a couple of plays, (Hudson) had to throw more pitches, he didn't get a sac bunt down. Colorado did a good job of extending him. He spent a lot early."
Hudson allowed five runs on 10 hits in 6 1/3 innings with a walk and seven strikeouts.
"It was one of those things where I couldn't find it out of the stretch," Hudson said. "You have to be able to make an adjustment better than that. I couldn't get a strikeout when I needed to."
Blum's first home run since last Sept. 20, a span of 255 at-bats, and an RBI groundout by Hudson gave Arizona a 3-0 lead in the second.
Helton hit a sacrifice fly and Tulowitzki added an RBI double to cut Arizona's lead to 3-2 in the third, and the Rockies tied it on an RBI single by Cook in the fourth.
Diamondbacks 2B Kelly Johnson left after three innings with soreness in his left calf. ... Parra threw Fowler out at third trying to advance on a single for his seventh assist of the season, tied for third-best in the National League. ... Montero's triple was his first of the season and fourth of his career. ... Ryan Spilborghs took Carlos Gonzalez's place in left field for the Rockies and went 1 for 4. Gonzalez was placed on the 15-day disabled list earlier Thursday for the first time in his career with a strained right wrist. ... Arizona closer J.J. Putz threw 15 pitches in a bullpen session Friday and will throw again Saturday as he looks to return from the 15-day disabled list.