The Royals used a four-run uprising in the fifth inning to take control of the game.
Brian Bannister (5-3) lasted 5 1/3 innings to win his fourth straight start, yielding three runs on seven hits. Joakim Soria nailed down the win with his 13th save of the year.
The Angels got a solo homer from Maicer Izturis. Mike Napoli and Howie Kendrick each chipped in with an RBI for Los Angeles.
Joel Pineiro (3-6) absorbed the loss, yielding six runs on 10 hits over eight innings.