Cook tied Arizona's Brandon Webb for the National League lead in victories, Troy Tulowitzki kept up his torrid pace with three more hits and the Rockies avoided a sweep with a 7-4 victory over the Pittsburgh Pirates on Wednesday night.
Cook (14-6) pitched seven innings, allowing four runs and nine hits to win his third straight start. The right-hander, in his seventh season, had never won more than nine games before this year.
He pitched out of trouble in the second, third and fourth innings, stranding two runners each time. He allowed all of his runs in the fifth before retiring seven of the final eight batters he faced.
"The term is effectively ugly," Cook said of his outing. "The team gave me some runs early, and that made things easier."
Colorado manager Clint Hurdle had another term: gutsy.
"There was some grit," he said. "He did not have his best stuff."
Cook needed 108 pitches to get through his outing, his fifth-highest total in 23 starts.
"He was behind in the counts a little bit," Colorado catcher Chris Iannetta said. "He battled through it. He's not going to have every game where he's really dominant. As long as he gives us a chance to win in the end, that's all that matters."
Tulowitzki went 3-for-4 with a double and an RBI. Since coming off the 15-day disabled list on July 21, the shortstop has raised his average from .166 to .241 by going 20-for-36 (.556).
"I believed in myself," he said. "I think there were a lot of people out there who didn't believe in me. I knew my swing was headed in the right direction. It was just a matter of going out there and getting results."
The Pirates, who rallied for wins in the first two games of the series, cut into a 6-0 deficit but couldn't complete the comeback this time.
"It's wonderful," Hurdle said. "There's longevity, there's success, there's talent, commitment. He's dealt with some adversity. He's come out on top of it. Good for him. There's a new name on the board."
Iannetta's home run capped a four-run fifth against Pittsburgh starter Zach Duke and gave Colorado a 6-0 lead. Atkins had an RBI single in the inning.
Duke said he left a fastball up to Iannetta.
"That's the difference in the game right there," he said. "It did the most damage. If I get the ball down, I get the result I want, a ground ball. It's frustrating."
Duke (4-9) went five innings, allowing six runs and eight hits. The left-hander dropped to 0-5 in his past nine starts, and hasn't won since June 9, against Arizona. In three second-half starts, Duke has an 11.25 ERA.
"He's not hitting his spots as effectively," Pittsburgh manager John Russell said of Duke. "That's what's hurting him. When he's effective, he's staying down in the zone. Tonight, he didn't do that as much. The one thing I noticed, [catcher Ryan] Doumit had to move around a lot. It's not usually a good sign for Zach."
They didn't score again.
"We score four runs off Cook, that's pretty good," Russell said. "It's just unfortunate we gave up too many."
Tulowitzki's RBI in the seventh put Colorado ahead 7-4.
Bautista had three hits, and Doumit and Jack Wilson added two hits each for the Pirates.
As expected, Russell said RHP Jeff Karstens will make his Pirates debut Friday when he starts against Chicago. Karstens was acquired from the New York Yankees last Saturday as part of a six-player trade. ... Pittsburgh 2B Freddy Sanchez missed his third straight game with back spasms. ... Clint Barmes made his first career start in right field for Colorado. Barmes, a middle infielder, played five games in center in 2007. Barmes was replaced before the bottom of the seventh by Cory Sullivan and moved to second base. ... Colorado won the season series 5-2. ... Pirates third base coach Tony Beasley sang the National Anthem.