KANSAS CITY, Mo. -- Brad Miller stepped to the plate against one of baseball's best closers in the ninth inning of a tied game, a sellout crowd rooting for him to fail.
Miller silenced them all with one swing of the bat.
The Seattle shortstop pounded a pitch from the Royals' Greg Holland just inside the right-field foul pole, his homer breaking a 5-all tie and helping the Mariners to a 7-5 victory Friday night.
"That was honestly one of the best baseball games I've been a part of," Miller said with a grin. "They're one of the hottest teams in baseball and I was pumped."
Logan Morrison drove in another run later in the ninth to provide some breathing room.
"What a swing by Miller. Oh my goodness," he said. "He crushed it."
Charlie Furbush (1-4) inherited a bases-loaded, one-out jam in the eighth, but the Mariners reliever calmly retired Mike Moustakas on a lazy popup to shallow right field. Furbush then struck out Alcides Escobar to silence a crowd of 38,475 and keep the game tied.
After Holland (0-2) coughed up the lead, Fernando Rodney allowed two singles in the ninth for Seattle. But the veteran closer bounced back to retire pinch-hitter Nori Aoki on a groundout, and then he struck out Alex Gordon on three pitches to earn his 19th save.
"They are big league baseball players. Big league ballplayers don't miss mistakes too often," Holland said. "I got up on (Miller) two strikes and didn't get the slider where I wanted. I made a mistake. Sometimes you pay for them and I did tonight."
Morrison added a two-run homer for Seattle, which overcame a subpar start from Hisashi Iwakuma to end the Royals' five-game winning streak at Kauffman Stadium. Mike Zunino added a solo shot and Robinson Cano drove in two runs, extending his hitting streak to 21 games.
Moustakas hit a two-run shot to lead the Royals, who have dropped two in a row after winning 10 straight. Salvador Perez homered and drove in two runs for Kansas City.
"Listen, we ran into a buzz saw. These guys are hot and everything is going for them," Mariners manager Lloyd McClendon said. "When you run into teams like that you have to play extremely well."
Iwakuma went eight shutout innings in each of his two starts against Kansas City this season, and the right-hander was headed that way again with four scoreless frames to start the game. Along the way, Iwakuma struck out the side in the first inning on just 12 pitches.
Meanwhile, his offense was staking him to a 5-0 lead.
Cano, who has dominated James Shields throughout his career, drove in a run off him in the first inning and another during a three-run fifth that was capped by Morrison's homer. Zunino's solo shot came in the fourth inning, a no-doubt rocket over the bullpen in left.
The Royals finally broke through when Perez homered on a meaty 0-2 pitch in the fifth.
They didn't stop there, either. Lorenzo Cain followed with a double, and Moustakas belted his eighth homer of the season over the wall in right to trim the Royals' deficit to 5-3.
Iwakuma escaped the inning, but he quickly ran into more trouble in the sixth. Consecutive singles by Billy Butler and Gordon knocked him from the game, and reliever Dominic Leone gave up the lead when Perez hit an RBI single and Moustakas an RBI groundout to make it 5-all.
Iwakuma allowed nine hits and a walk in five-plus innings. It was his shortest start since July 9, 2013, when he allowed six runs and eight hits in three innings against the Red Sox.
Shields went seven innings and still has not lost since May 2, a span of nine starts.
"It was a great to see the crowd come out, obviously a sellout. We love it when the fans come out," Shields said of the rare packed house. "We didn't get a win for them tonight, but hopefully they keep coming out and we'll get some wins here."
Royals right-handed batters were 0 for 23 against Iwakuma this season before Butler's single in the second. Butler had three hits. ... Gordon returned after missing a game to illness. ... Mariners RHP Chris Young faces Royals LHP Jason Vargas on Saturday.