The Royals avoided a three-game sweep and moved within 1 1/2 games of the AL Central-leading Tigers. Kansas City began the day with a half-game edge over Seattle for the second wild-card spot.
Aoki's triple in the fourth scored Omar Infante and Mike Moustakas to break a 2-all tie and end the day for Rick Porcello.
Porcello (15-12) is 0-4 in his past five starts. He yielded four runs on nine hits and two walks in 3 1-3 innings.
Guthrie (12-11) pitched out of a bases loaded jam in the second and was pulled after 81 pitches and 5 1-3 innings, yielding one earned run.
Davis struck out two, bringing his strikeout total to 103, tying a Royals' record for a reliever. Holland threw a perfect ninth to log his 43rd save in 45 chances, and his first since Sept. 3.
Alex Gordon snapped an 0-for-14 slump with a RBI double in the seventh to pad the Royals' lead.
Ian Kinsler homered, his 16th, to lead off the third for the Tigers.
J.D. Martinez scored in the fourth on an error by Moustakas at third base. Moustakas has committed six errors in the past 12 games.
Tigers: RHP Anibal Sanchez (right pectoral strain) pitched a three-inning simulated game. If he feels good Monday, he would likely be activated this week with a role to be determined.
Royals: LHP Danny Duffy, who has missed his previous two starts with a sore shoulder, will return to the rotation Monday, starting at Cleveland.
Tigers: Rookie LHP Kyle Lobstein, who has walked 11 and struck out 18 in 27 2-3 innings, will start the series opener at home against the White Sox on Monday night.
Royals: Kansas City will need to rally quickly when it plays in Cleveland on Monday. The teams will resume their game that was suspended by rain Aug. 31 in Kansas City, with the Indians leading 4-2 going to the bottom of the 10th. The Royals and Cleveland will then play their regularly scheduled game.
All content copyright ©2014 Daily Journal, a division of Home News Enterprises unless otherwise noted.