PHOENIX -- Ian Kennedy's biggest concern Monday night turned out to be Dexter Fowler -- not because of his bat, though.
"I knew I hit it a long way but Fowler's pretty fast," Kennedy said. "I just kept saying, 'Get down. Get down.' It felt good to finally do something in that situation."
|More on Rockies-Diamondbacks|
|More MLB coverage|
Paul Goldschmidt hit a home run and Willie Bloomquist added an RBI double for the Diamondbacks, who have won a season-high seven consecutive home games and five of six overall.
Josh Rutledge hit his first career home run and doubled, and Carlos Gonzalez also hit a home run for the Rockies, losers in five of six.
Kennedy (8-8) allowed two runs and struck out seven en route to his second successive victory. Kennedy has lasted eight innings in each of his past two starts, giving up three runs on 13 hits across the 16 innings.
"I went out there and just wanted to do it like we did it last year and just pound the zone," Kennedy said. "Overall I feel like I'm locating my changeup better, that it's down instead of up."
After Mike Zagurski gave up a long home run to Gonzalez leading off the ninth and walked Michael Cuddyer, J.J. Putz entered and finished for his 18th save.
Jonathan Sanchez (0-1) allowed five runs on six hits and four walks in his first start for the Rockies. Sanchez was acquired from Kansas City on Friday. Sanchez was designated for assignment by the Royals a week ago.
"I was over the plate more than I'm used to," Sanchez said. "I made a mistake and you've got to pay for that."
Goldschmidt's leadoff home run in the second gave the Diamondbacks a 1-0 lead.
Arizona appeared ready to squander a scoring opportunity in the fourth when Justin Upton and Goldschmidt failed to advance from second and third on Miguel Montero's single that bounced off the right-field fence on one hop. Tyler Colvin threw out Montero easily as he retreated to first after looking up to see Upton returning to second with Goldschmidt only a handful of steps past third.
"I didn't know how close he was to me," Goldschmidt said. "From where I was I thought he was going to run it down. I was just thankful someone drove me in after I made that mistake."
After Chris Young popped up for the second out, Sanchez intentionally walked Ryan Roberts to get to Kennedy, who entered the game with one hit in 28 at-bats.
But the right-hander lined a drive into left-center, clearing the bases with a triple to give the Diamondbacks a 4-0 lead.
"I've never seen him hit a ball that hard or far in batting practice and I've been here for seven years," Diamondbacks manager Kirk Gibson said.
Colorado Rockies manager Jim Tracy said it's often the outcome of one pitch that can decide the outcome.
"We made a bad pitch to a guy who's not a real good hitter after an intentional walk and he cleared the bases," Tracy said. "That was the difference in the game."
Rutledge homered with two outs in the fifth and scored on Fowler's single to center with two outs in the eighth for the Rockies' two runs.
Upton scored on a sacrifice fly by Roberts in the eighth.
Kennedy became the seventh Arizona pitcher and first since 2007 to hit a triple. ... Kennedy is the first Diamondbacks pitcher to strike out at least seven without issuing a walk in consecutive starts since Dan Haren in 2009. ... Eight of Rutledge's 14 hits this season have been for extra bases. ... Aaron Hill's modest 13-game hitting streak, the longest current streak in the majors, ended on an 0-for-5 night. ... Fowler has 28 RBI in 59 career games against the Diamondbacks. ... Diamondbacks LF Jason Kubel, who had hit four home runs in his past two games, finished 0 for 4 with three strikeouts. ... LHP Joe Saunders will start for the Diamondbacks on Tuesday against a pitcher to be announced. LHP Drew Pomeranz, who had been slated to start for the Rockies on Tuesday, played catch on Monday afternoon but will sit out Tuesday night with soreness in his left arm. Saunders is 2-1 with a 3.79 ERA in his past three home starts.