Salvador Perez went 2-for-4 with a solo homer and Alcides Escobar drove in two runs for the Royals, who have won three of their last four.
James Shields (5-3) surrendered just one run five hits with eight strikeouts and no walks across seven strong frames.
Nolan Arenado had two hits and Justin Morneau drove in Colorado's lone run. Franklin Morales (3-3) gave up four runs on eight hits with four walks as the Rockies lost their fourth game in their last five.
Celebrity Couples of 2014 [PHOTOS]