Shields (12-9) handcuffed the Tribe on one run, allowing six hits and two walks as the Royals kept their own faint American League wild card hopes alive.
Kansas City finished the night 2 1/2 games out of post-season berth with the New York Yankees, Baltimore and the Indians ahead of them.
Cleveland starter Scott Kazmir (8-9) was reached for four runs on seven hits in a five-inning stint.
Lonnie Chisenhall homered for the Tribe, who ended Monday 1/2-game behind second wild-card holder Texas and 1 1/2 games in back of Tampa Bay, which has sole possession of the first wild-card spot.
Ohio crash that killed two caught on camera [VIDEO]
Workers accuse National Zoo of animal mismanagement