Shields struck out 10 batters over six innings and allowed just one run as Kansas City topped Cleveland 7-1 to start a three-game series. The win pulls the Royals back to 2 1/2 games behind Texas for the second Wild Card spot, while the Indians sit a half-game back.
Shields' (12-9) lone mistake came in the fifth inning when Lonnie Chisenhall launched a solo home run.
Salvador Perez enjoyed a 3-for-4 night, picking up the team's second RBI in the third inning and setting up the next tally with a triple in the sixth. Lorenzo Cain drove him in with another triple as part of a three-run frame.
Scott Kazmir (8-9) lasted five innings, giving up four runs on seven hits while striking out six.
The Royals (79-71) announced Monday that Danny Duffy would not make his scheduled start Tuesday after an MRI revealed inflammation in the flexor of his left elbow. RHP Yordano Ventura has been called up from Triple-A Omaha to make his major league debut in Duffy's place.