It was the third time this season that the Tigers scored 19 runs. The Boston Red Sox were the last team to accomplish that feat, scoring 19 or more four times in 1950 according to the Elias Sports Bureau. Detroit beat Texas 19-6 on April 23 and Minnesota 19-3 on May 24.
"Cabrera had a huge night as did a bunch of other guys," Tigers manager Jim Leyland said. "When his concentration is locked in, he's going to hit big time. When he's locked in, he's pretty impressive."
Cabrera has 31 RBIs in his past 35 games to up his season total to 67, putting him among the American League leaders.
"When you score runs and drive in runs, you win games," Cabrera said.
Joyce hit a three-run homer in the third and had two singles in the Tigers' 10-run eighth inning, which also included a Gary Sheffield three-run homer. Cabrera singled and doubled and drove in two runs in the eighth when the Tigers sent 15 men to the plate off Kansas City relievers Jimmy Gobble and Leo Nunez.
Joyce is hitting .375 with five home runs, seven doubles, two triples and 14 RBIs in 18 games since being recalled June 29 from the minors.
"I was actually really surprised it went out," Joyce said of his home run. "The only night I had better was when I had six hits in rookie ball. I was unconscious. You don't like to kick a team when they're down, but at the same time you can't give away at-bats."
Royals reserve infielder Tony Pena Jr. pitched a perfect ninth, including striking out Ivan Rodriguez. He was the first Royals position player to pitch in a game since Shane Halter on July 19, 1998 at Seattle.
"It was fun," Pena said. "Before I signed, I pitched and played short. Trey [Hillman] asked me if I wanted to pitch and I said sure."
Zack Miner (4-3), who was making his first start since May 17, 2007 and after 32 relief appearances, held the Royals to three singles over six scoreless innings to pick up the victory. Miner said he would like to lead the league in run support.
"The guys were giving me a hard time, but I'd rather get them [runs] than not get them," Miner said.
Joyce's triple in the seventh scored Carlos Guillen, who scored a career high five runs.
"It was a nasty loss," Hillman said. "Tony did a nice job finishing up for us."
Luke Hochevar (6-8) gave up seven runs on eight hits, while striking out five and walking one in five innings. He has lost three of his past four starts.
Gobble, the third of five Kansas City pitchers, was charged with all 10 runs in the eighth. Gobble retired only three of the 14 batters he faced, allowing seven hits and walking four, including two with the bases loaded. Gobble's ERA soared to 11.31.
"You do feel bad when you see somebody struggle like that," Leyland said. "You don't like to see these either way to be honest with you. I've been on both sides of them. That's not really fun for anybody. You don't like to see it happen, but it happens now and then. It's one of those unfortunate things that happen to all of us."
Said Gobble, "As hard as it is, you've got to put it behind you."
It was the Tigers' first victory over the Royals in seven games this season.
The Tigers' nine hits in the eighth is a season high. ... Sheffield's three RBIs brings his career total to 1,599, passing Royals Hall of Famer George Brett, who had 1,596, and tying him with Nip Lajoie for 29th on the all-time list. ... The 19 runs was the most the Tigers have ever scored on the Royals.