Miley (5-1) allowed three runners to reach third base but pitched out of trouble each time, scattering six hits and a pair of walks while striking out three.
The rookie left-hander won his second start in a row, lowering his ERA 2.14.
Royals starter Nate Adcock (0-2) absorbed the hard-luck loss, yielding one run on five hits over five frames.
Jeff Francoeur went 4-for-4 for Kansas City.
Exploding whale video goes viral on Internet
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'