Salvador Perez went 3-for-4 with a solo home run and two RBI in Kansas City's third win in five games.
Luke Hochevar (9-10) pitched into the eighth inning, allowing five runs on eight hits and two walks while fanning seven to snap a four-start winless skid.
Max Scherzer (13-8) was touched for seven runs on 10 hits and a walk through just three-plus innings for the loss.
Giavotella singled with one out in the second. Perez followed with a double into the right-center field gap, scoring Giavotella and increasing Kansas City's lead.
After Melky Cabrera's leadoff single in the third, Wilson Betemit's throwing error on a slow-roller by Billy Butler put runners on second and third. Eric Hosmer then worked a walk to load the bases with no outs. Scherzer looked like he would get out of the jam by getting Jeff Francoeur out on a liner to second and Mike Moustakas out on a pop up to the infield, but Giavotella cleared the bases with a double to left, making it a 5-0 game.
Betemit led off the home third with a walk and Don Kelly followed with a liner to right. A Hochevar wild pitch moved the runners to second and third and Ramon Santiago's groundout pushed Betemit across the plate. Delmon Young then hit a hard grounder to third that Moustakas couldn't handle, scoring Kelly. Two batters later, Victor Martinez slapped an RBI single up the middle to make the score 5-3.
The Royals answered in the fourth inning with back-to-back home runs by Perez and Alcides Escobar to start the frame.
Austin Jackson legged out an infield single in the fifth, moved to second on a Young groundout and came home on Miguel Cabrera's double into the corner in right field to cut into the Royals' lead again.
But Kansas City answered in the sixth with a run-scoring, bloop single to shallow right by Melky Cabrera and a sacrifice fly by Hosmer, extending the lead to 9-4.
After allowing a leadoff single to Miguel Cabrera in the eighth, Hochevar was replaced by Tim Collins. Martinez greeted Collins by shooting a ball into the left-center gap. Gordon had the ball roll under his glove and it went all the way to the wall, allowing Cabrera to score and Martinez to take second on the error. Collins then walked Alex Avila and was pulled in favor of Blake Wood, who induced a 5-3 double play by Jhonny Peralta and struck out Betemit to end the inning.
Wood tossed a scoreless ninth to close out the game.
Francoeur set a new career-high with his 41st double of the season in the fifth inning...Moustakas extended his career-best hit streak to 12 games with a single in the ninth inning...Scherzer dropped to 6-4 in 14 starts at home...Avila went 0-for-3 to snap a 12-game hit streak...Detroit fell to 32-20 against AL Central opponents this season.