KANSAS CITY, Mo. -- Billy Butler went 5-for-5 and Mike Moustakas hit a walk-off home run in the 13th inning as the Kansas City beat the Seattle Mariners 7-6 on Thursday.
Moustakas drove an 0-2 pitch out from Chance Ruffin, the sixth Mariners pitchers. Louis Coleman retired the only batter he faced to claim the victory.
Raul Ibanez, who played three seasons for the Royals, hit a pinch-hit home run with two out in the ninth off Greg Holland to tie the score at 6. Holland's streak of 31 consecutive saves ended with Ibanez's 25th home run.
Butler stroked five hits, matching his career high, and Emilo Bonifacio had four hits. His previous four-hit game was with the Marlins on July 4, 2009, against the Pirates.
The Royals were down 5-0, but Alex Gordon's team-leading 17th home run in a three-run fifth started a comeback.
Butler drove in Eric Hosmer, who had doubled, with the tying run in the seventh with his fourth single. Butler scored on Justin Maxwell's sacrifice fly, making it 6-5, a lead Holland could not preserve.
Salvador Perez had a RBI single in the fifth for his third hit, but left with dizziness. He was struck in the mask by a Dustin Ackley foul tip in the top of the inning.
The Mariners took a 3-0 first inning lead on a Kendrys Morales single and a two-run homer by Justin Smoak. Morales drove in Abraham Almonte, who had doubled, with the first run.
Brad Miller's sacrifice fly in the fourth scored Michael Saunders, who opened the inning with a double to give the Mariners a 4-0 lead that starter Joe Saunders and the Mariners bullpen could not hold. Saunders was pulled after 11 hits and three runs in 4 2/3 innings.
Brandon Maurer gave up four straight hits and three runs in the seventh as the Royals took a 6-5 lead.
Royals starter Jeremy Guthrie made it through six innings, allowing five runs on seven hits for a no-decision.
The Royals muffed a chance to score in the second, which Butler opened with a single and advanced to third on Perez's double down the left-field line.
Saunders stranded them by striking out Maxwell, getting Johnny Giavotella on a fly to right and Alcides Escobar on a ground out.
NOTES: Mariners RHP Felix Hernandez, who was pulled in the seventh inning Monday with cramps in his lower back, has been shifted from a Sunday start to Wednesday. "We're going to be cautious with him," manager Eric Wedge said. "He's feeling good. We'll see how he feels playing catch. We don't want to take any chances with that." ... 2B Chris Getz remains out of the Royals lineup with a possible concussion.