KANSAS CITY, Mo. – Mike Moustakas was in a slump and Justin Verlander, of all people, helped him break out of it.

Salvador Perez drove in three runs and Moustakas went 3-for-4 with a go-ahead home run to lead the Kansas City Royals to a 6-5 victory over the Detroit Tigers and Verlander on Saturday night.

Moustakas was hitless in 10 at-bats and in a 3-for-20 slide. His home run to right in the fifth broke a 5-5 tie, while the three-hit game was his first since May 8.

"There's a great pitcher on the mound and he doesn't make too many mistakes," Moustakas said. "I got a pitch I could handle and didn't miss it."

Verlander (10-7) had not lost to the Royals since Sept. 9, 2009, but gave up six runs, five earned, on eight hits and four walks in 5⅔ innings.

"It was not good at all," Verlander said. "I walked guys and they scored runs. I wasn't able to execute. I was just all over. I wasn't in sync. I've got to find it. I had three or four games before the All-Star break where I thought I had it back, but I didn't feel in sync tonight. Hopefully I'll get it back."

It was the seventh time in 21 starts that Verlander failed to make it into the sixth inning.

"I would say over the course of the season up to this point, and there's still a lot of season left, his performance hasn't been quite as consistent as in the past," Tigers manager Jim Leyland said of his star righthander. "It's just not what you expect of him, which is a little unfair because of what you expect of him."

Perez drove in a run in the first with a sacrifice fly and stroked a two-run double in the third.

Jeremy Guthrie (9-7) picked up the victory, surrendering five runs on 10 hits and two walks in six innings.

"The bullpen won the game despite me trying to give it away," Guthrie said.