Adrian Gonzalez hit his 28th homer, Greg Maddux improved to 8-2 lifetime at Coors Field and the Padres ended Cook's mastery of them with an 8-3 victory Saturday night.
Luis Rodriguez and Kevin Kouzmanoff had three hits each and both scored twice for San Diego. Brad Hawpe had three hits for the Rockies.
Cook (14-8) came into Saturday with a 10-3 lifetime record against San Diego and two complete-game victories in his last three starts against the Padres, including his first career shutout on July 1, a 79-pitch gem.
"I don't see him going out and throwing like that every night," said San Diego outfielder Chase Headley, who was 2-for-5. "He was really, really good that night, but tonight he didn't have his best stuff."
Cook was 9-1 in his last 13 starts against the Padres, dating back to the 2003 season.
"Sometimes the more success you have against a team the harder they try against you," Cook said.
Cook was cruising until the sixth before the Padres broke open the game. Kouzmanoff and Headley had an RBI single each, Nick Hundley hit a two-run double to left-center on an 0-2 pitch and Maddux's bunt single made it 6-1 and chased Cook.
"He's been outstanding against us," Padres manager Bud Black said of Cook. "It looked like he was on his way again, and then we broke through. The pitch to Hundley, he probably wishes he could have that back."
Cook, who allowed 10 hits and struck out two, lost his second in a row and failed to get out of the sixth for the second straight start. In July he pitched at least six innings in all five of his starts.
"Basically it was ground ball after ground ball and they scratched him for one run," Rockies manager Clint Hurdle. "In the sixth he got the ball up."
Maddux (6-8) matched Cook's early brilliance. He allowed four hits through six innings, and three of those were wiped out by double-play balls. The only other hit was Chris Iannetta's solo homer in the third. He left after giving up singles to Matt Holliday and Hawpe to start the seventh. He struck out four and walked one in winning his third straight start.
"The defense was stellar," Maddux said. "They turned a lot of double of plays."
Maddux's winning streak comes after a stretch of 14 starts where he was 0-5.
"He was deserving of a lot of wins in that period," Black said. "It's good to see him win three in a row."
It didn't come without some drama. The Rockies threatened in the bottom of the ninth. Holliday and Hawpe led off with singles off of Bryan Corey, who was then relieved by Cla Meredith. Garret Atkins doubled home a run and Ian Stewart walked to load the bases with no outs.
Trevor Hoffman came on and struck out Troy Tulowitzki and got Iannetta to line into a game-ending double play to earn his 25th save in 28 chances.
"That punchout was big," Black said. "That was psychologically big."
The Rockies also mounted a rally in the seventh, loading the bases with one out and scoring on a bases-loaded walk. The threat ended when Clay Hensley got Iannetta to ground out into an inning-ending double play.
Gonzalez hit a two-run homer into the second deck in right field in the ninth made it 8-2.
Maddux and Cook cruised through the early innings before Iannetta broke the scoreless tie with a leadoff homer in the third, his 13th. San Diego came back with a two-out rally in the fourth. Kouzmanoff singled to second and Headley doubled down the right-field line to tie it at 1.
The Padres placed C Josh Bard (strained right elbow) on the 15-day DL and recalled C Luke Carlin from Triple-A Portland. ... Corey left Saturday's game with a strained left hamstring. He will be reevaluated before Sunday's game. ... Holliday extended his streak of scoring at least one run to 14 games, tying the franchise record set by Dante Bichette in 1994.