Alex Gordon set the tone Monday night by opening the game with a home run. And, aside from a few tense moments, it was pretty much all Royals thereafter in a 9-5 victory over first-place Detroit at Comerica Park.

Gordon matched a career high with four hits, and he had a lot of company in an 18-hit attack that did much of its damage against Tigers starter Max Scherzer, a former Missouri All-American.

"We put some good swings on the ball early," second baseman Johnny Giavotella said. "Gordo got us started off with the home run, and we were able to follow him up with a bunch of runs after that."

Salvador Perez had three hits, including his first big-league homer on a monster shot to center field. Alcides Escobar followed Perez's homer with one of his own. Melky Cabrera had three hits.

Giavotella had two hits, including a clutch three-run double with two outs in the third inning. It came after the Royals threatened to squander a bases-loaded threat with no outs when Scherzer retired Jeff Francoeur and Mike Moustakas.

"Everyone had a hit," Gordon said, "but Gio had the big hit. Frenchy and Moose couldn't get it done, but Gio picked them both up. That could have been a big momentum swing if (Scherzer) gets out of that."

Luke Hochevar, 9-10, broke a four-start winless streak by pitching into the eighth inning. He rolled through the Tigers except for a three-run third inning that trimmed the lead to 5-3.

"He had the one inning where he got out of sync a little bit," manager Ned Yost said. "But other than that, he pitched us into the eighth inning."