D'backs complete sweep of Rockies
Colorado had won 13 of 15 in another late-season run to get close in the NL West, but leaves the desert 3 1/2 games behind San Francisco in the division and Atlanta in the wild-card race.
Carlos Gonzalez hit his first career grand slam in the seventh inning and added a two-run single in Colorado's three-run ninth, but the Rockies couldn't come all the way back.
Tulowitzki, having a huge September, went 2 for 12 in the series. His only RBI came in the ninth - after a long foul ball - on a groundout with runners at second and third and one out. That cut Arizona's lead to 10-9, but Juan Gutierrez struck out pinch-hitter Melvin Mora with two on to end it.
The Rockies headed into the desert hoping to build some momentum against the last-place Diamondbacks with a pivotal home series against the Giants at Coors Field coming up next.
They leave with a huge hole to dig out of.
Neither could Francis.
The left-hander threw plenty of pitches in the first two innings and one bad one in the third to Johnson, who hit it off the wall behind the concourse in center field for a two-run shot that put the Diamondbacks up 2-1.
Drew added a run-scoring single in the fourth and Francis was done a batter later after allowing three runs on six hits in 3 2-3 innings.
Kennedy wasn't exactly efficient.
The right-hander struggled with control - 63 pitches through the first three innings - and repeatedly stepped off the mound, unable to agree with catcher John Hester on what to throw. Kennedy lasted just four innings, giving up a run on Ryan Spilborghs' RBI single in the third and three hits.
Gonzalez hit his 33rd homer off Blaine Boyer in the seventh after Esmerling Vasquez walked the bases loaded to cut the lead to two, but Drew hit a solo homer in the bottom half and Young added one in the eighth to push the lead back to four.
Notes: Rockies 2B Eric Young Jr. walked as a pinch hitter in the ninth after missing two games with a sore right shin, the same one he broke earlier in the season. ... Arizona went 7-2 against Colorado at Chase Field this season. The teams split the season series 9-all.