The Rockies stranded 11 baserunners as they began a nine-game homestand. Their lead for the second NL wild-card spot dwindled to three games over idle Milwaukee.
Zimmermann (8-11) went five innings and allowed three runs — all in the second inning. He settled down to move his career mark to 7-0 against the Rockies in 11 career starts.
Shane Greene struck out two of three in the ninth for his sixth save. He fanned Mark Reynolds to end the game.
Antonio Senzatela (10-5) never found his command in allowing four runs over 3 2/3 innings. The right-hander has bounced between the starting rotation, the minors and the bullpen since he was the NL rookie of the month in April.
Trailing 3-2 in the third, Castellanos laced a two-run triple into the corner to give the Tigers a lead they wouldn't relinquish. It was Castellanos' AL-leading 10th triple of the season. He also had an RBI single in the first.
Detroit's bullpen came up big in a pivotal sixth. After Warwick Saupold worked his way into a one-out, bases-loaded situation, he struck out Nolan Arenado on a pitch off the plate. Lefty Daniel Stumpf was summoned to face Gerardo Parra and struck him out with a fastball. Stumpf screamed as he walked off the mound.
Tigers slugger Miguel Cabrera left the game in the fifth inning with lower back tightness. He went 0 for 1 with two walks and a run scored.
Jonathan Lucroy had a two-run homer off Zimmermann. He finished 3 for 4.
Tigers: LHP Daniel Norris (left groin strain) will make a rehab start Thursday with Triple-A Toledo. ... RHP Anibal Sanchez (left hamstring strain) is scheduled to throw Thursday for Class A West Michigan.
Rockies: RF Carlos Gonzalez was a late scratch with a sore left ankle.
VOTE OF CONFIDENCE
Greg Holland remains manager Bud Black's closer despite a rough stretch. Holland has blown three saves and given up 14 runs over his last eight games. He pitched a perfect ninth Monday in a nonsave situation.
"Greg will be a big part of us getting to where we want to be moving forward," Black said.
Holland is coming back from Tommy John surgery that caused him to miss all of last season. He has 36 saves this season.
Outfielder/infielder Ian Desmond was activated from the disabled list, where he's been for the last month with a strained right calf. He was added to the starting lineup when Gonzalez was scratched. Desmond had two singles.
"He feels good about his calf, he feels good about where he is physically and he feels good about where he is making contributions from here on out," Black said.
Tigers manager Brad Ausmus doesn't exactly have warm regards for hitter friendly Coors Field.
"Pinball baseball," Ausmus called it.
Tigers RHP Michael Fulmer (10-11, 3.69 ERA) makes his first start against Colorado on Tuesday. The Rockies will throw RHP German Marquez (10-5, 4.18 ERA), who has never faced Detroit.