SEATTLE -- Alberto Callaspo turned failure into success in the span of one pitch Wednesday night.
Callaspo couldn't come through in putting down a crucial sacrific bunt in the eighth inning. After going 3-2 and having the bunt sign taken off, he simply crushed a three-run home run, lifting the Kansas City Royals to a comeback 7-3 victory over the Seattle Mariners on Wednesday night.
Trailing by a run, Callaspo came up with runners on first and second and no outs. Reliever Brandon League (5-6) had walked the first two batters and went 2-0 to Callaspo.
"I'm not really wanting to bunt off League. He throws so hard. He's tough to bunt off of," Royals manager Ned Yost said. "But you have to try to get the winning run to second base somehow.
"When it went ball one, ball two, the bunt was out of my mind but I was having Calla square so maybe [League] would throw balls."
But League threw a strike that Callaspo missed with a bunt thrust. It then went 3-1 before League came inside with a fastball.
"It was inside and it was sinking," Callaspo said. "It was tough to bunt."
He managed to weakly foul it off, making it 3-2. Yost wasn't going to gamble with two strikes. He took off the bunt sign.
"I was just trying to make good contact," Callaspo said. "I was trying to move the runners. Finally, I get the home run. Pretty good."
He couldn't hit the ball 10 feet but in five chances then connected for 368 feet on his final attempt.
"He made a mistake to Bert and it turned the tide for us," said Mitch Maier, who hit a home run later in the four-run eighth.
League said he threw his best pitch.
"A fastball. I'm not going to try and load the bases throwing something else," League said. "I didn't find the strike zone at all -- walked two guys. And when I did find the strike zone, he hits it out of the park."
Billy Butler hit his ninth home run in the ninth, one that had to be confirmed by the umpires through video replay.
Victor Marte (3-0), who worked out of a bases-loaded jam in the seventh, earned the victory.
Joakim Soria entered the ninth with two on and no outs and retired the final three batters. He picked up his 25th save in 27 opportunities.
Soria saved all three games. It was the first time since June 12-14, 1995, that the Royals swept the Mariners in Seattle.
Casey Kotchman supplied all the Seattle runs with two home runs. In one game, Kotchman produced one-third of his season home run total. He has six.
It also was Kotchman's second career multiple home run game. His first was May 14, 2007, against Texas when he was with the Los Angeles Angels.
The Royals' three-homer game was their first since May 6.
"Give up three home runs and six runs from the seventh inning on is not going to get it done," Mariners manager Don Wakamatsu said.
Kotchman tied it with a two-out solo shot to right-center on Kyle Davies' first pitch to him in the second.
The Mariners loaded the bases in the third with one out, ushering pitching coach Bob McClure to the mound for a chat. That elicited an instant positive result. Davies' next pitch to Jose Lopez was a gift one-hopper to mound and he turned it into a 1-2-3 double play.
Mariners starter Doug Fister struggled to find the plate early, walking two and throwing 47 pitches by the second inning. He was up to 91 pitches after five innings.
Fister went six innings, allowing one run and six hits, exiting with a 3-1 lead.
In the sixth, Butler opened with a blast against the left-field scoreboard, missing a home run by foot. But Michael Saunders swiftly gathered the carom and threw to second. Inexplicably, Butler rounded first too wide and was easily thrown out returning to the bag.
The Mariners started something in the ninth off Kyle Farnsworth. The first two batters reached. Yost was forced to bring in Soria, who has pitched in six of the Royals' past seven games -- with six saves.
"When we scored four runs ahead [non-save situation] I was thinking no way," Soria said, "but I have to stick with my team when they need me."
Royals OF/DH Jose Guillen is day-to-day after sustaining a grade one strain in his left quad Tuesday. "We were hoping that it wouldn't be worse and it's not," Yost said. "He's not playing today, we're off tomorrow. We'll see where he is on Friday." It looked serious, as Guillen barely made it up the line to first base. He said the muscle kept cramping. But Guillen said he's ready to play. "Just wrap it up like old school and just go play," he said. OF Milton Bradley has not started the past four games because of a bruise to the fat pad on his right knee. "He's hitting, he just can't do a lot of running right now," Wakamatsu said. "He's getting treatment and staying off it a little bit."