KANSAS CITY, Mo. -- Finally, somebody else messed up even worse than Seattle.
Adrian Beltre was caught in a rundown between third base and home in the ninth inning of a tie game Sunday. But he scored the go-ahead run on John Buck's throwing error and the Mariners went into the All-Star break with a 4-3 victory over the Kansas City Royals that made their AL-worst 37-58 record seem a tiny bit less painful.
"Finally, we got the better end of it," manager Jim Riggelman said. "A couple of plays went our way. They had a little bit of a high throw and gave us a break, finally."
Said Beltre: "Any win is a good positive for us right now."
Leading off the ninth against All-Star closer Joakim Soria, Beltre hit a popup into shallow center and sped to second with a double when it floated just barely out of the reach of shortstop Mike Aviles.
A sacrifice put him at third and then, going on contact, he broke for the plate when Willie Bloomquist hit a sharp grounder back to the mound.
Soria threw the ball to Buck, and Beltre was trapped. But Buck threw over the head of third baseman Alex Gordon, and Beltre turned back toward home. Aviles, backing up Gordon, made an outstanding effort to stop the ball from rolling into the outfield, and looked like he may have had time to throw to Buck to get Beltre.
But instead he threw to second in a futile try to nail Bloomquist.
"My job was to stay in the run-down and hopefully the batter can get to second base, so he can still be in scoring position," Beltre said. "I kind of had my back to the play when (Buck) threw the ball. I looked back and the ball was over the third baseman's head."
Aviles started to throw home.
"But I would have had to throw over Gordon and Beltre to get the ball to Bucky," he said. "I thought that would have been a tougher play."
For a split-second, Beltre had that dreaded "here we go again," feeling.
"I think (Aviles) might have had a shot to throw me out," he said. "But it looked like he caught the ball sort of off balance."
The run was unearned off Soria, the Royals' lone All-Star, who fell to 1-2. Sean Green (2-2) picked up the win and Brandon Morrow recorded the final two outs for his ninth save in 11 chances.
The Mariners won for only the second time in eight games, but are 12-11 since Riggelman replaced John McLaren on June 20.
"It's nice to end on a positive note before the All-Star break," Bloomquist said.
The Royals go into the break at 43-53, an improvement on their 38-50 mark last season.
"Alex and I were both on the inside of the line," said a downcast Buck. "I just threw it too high."
A day after David DeJesus hit a game-winning homer off Morrow with two outs in the ninth, Morrow got his revenge, getting DeJesus to fly out to left to end the game.
"I think it added a little more adrenaline that I had to come back and try to get him the second day," Morrow said. "We haven't got a lot of breaks this year. It's nice to go into the All-Star break on a win and have something go our way."
Royals starter Kyle Davies, looking for his first win in five starts, had a 2-1 lead with two out in the seventh but surrendered a single to Bloomquist. Rookie catcher Jeff Clement, breaking an 0-for-15 slide that had dropped his average to .159, drove a 3-2 pitch over the fence to put Seattle on top 3-2. It was Clement's fifth of the year.
Ross Gload and Buck singled leading off the bottom of the seventh and were sacrificed up a base before Aviles tied the game with an RBI ground out.
Aviles went 3-for-4 with two RBI for Kansas City.
"It's a good time for a break," Kansas City manager Trey Hillman said. "Everybody's going to try to recharge both mentally and physically."
The Royals stole five bases in the three games, all off Clement. ... Aviles has a seven-game hitting streak. ... DeJesus still leads the majors with a .460 average with runners in scoring position. Green leads AL relievers with 48 appearances. ... Clement is 0-for-10 in throwing out runners this season.