Kansas City hammered Francisco Liriano for six runs and 11 hits in 4 1-3 innings.
Kyle Davies (9-7) allowed one run and four hits in six innings and tied a career high with eight strikeouts, helping the Royals win for the 12th time in 14 games. They've won seven straight on the road.
Billy Butler had three hits and a homer and Mike Aviles added a double and a homer for the Royals, who are looking to crash another party in the final series of a season.
Two years ago, the Tigers needed to win just one game at home against the Royals to sew up the division. But Kansas City swept Detroit, allowing the Twins to jump into the top spot.
"I won't hesitate to use anybody and everybody to try to win these ballgames," Royals manager Trey Hillman said before the game.
The Twins were coming off a thrilling 10-inning win over the White Sox in front of more than 43,000 fans on Thursday night. Alex Casilla's winning single blew the roof of the Metrodome and capped a three-game sweep of Chicago that vaulted the Twins back into first place and, apparently, sapped all their mojo in the process.
Players and manager Ron Gardenhire spoke openly about the emotionally draining series that started with the team 1 1/2 games behind Chicago and ended with them a half-game up.
Gardenhire was hoping his dynamic young lefty would give the Twins the lift they needed to avoid a let down, but it was all downhill for Liriano (6-4) after a 1-2-3 first inning.
Liriano wiggled out of a bases loaded jam in the second, but came undone in Kansas City's four-run third, throwing two wild pitches and giving up four straight hits to start the frame.
After his first wild pitch bounced in the dirt and got past catcher Joe Mauer to allow runners to move up to second and third, Ryan Shealy's base hit scored Alberto Callaspo and Jose Guillen. Alex Gordon added an RBI double to give the Royals a 4-0 lead.
Liriano's disastrous night ended when he gave up a two-run homer to Butler in the fifth, giving the Royals a 6-0 lead.
Mauer had two hits and Denard Span had a triple and a run scored for the Twins, but Justin Morneau went 0-for-4 and has just five hits in his last 30 at-bats.