KANSAS CITY, Mo. -- With Jarrod Dyson on third as the potential winning run, what's a batter to do?
Mike Aviles knew a shallow fly ball to the outfield would work just fine.
Aware of Dyson's blazing speed, Aviles made sure not to overswing and he flied out to Ryan Sweeney in left field. He then watched Dyson score well ahead of the throw, giving the Kansas City Royals a 4-3 victory over Oakland on Saturday, their sixth walk-off win of the year.
"I knew I just had to get the ball somewhere in the outfield," Aviles said. "With Dyson's speed, we would definitely get the run. He just has that world-class speed. If I was on third base, we'd have to get it to the warning track."
Dyson, an outfielder taken in the 50th round of the 2006 draft, pinch ran after Billy Butler singled leading off the ninth against Brandon McCarthy (1-3), who experienced his second complete-game loss of the year.
Dyson sped to third when Jeff Francoeur singled and scored easily on a ball that would have kept most runners at third.
"I think he's the fastest guy in baseball," Royals manager Ned Yost said. "I can't think of a faster guy, one. And two, he's got incredible instincts. You can be fast. But without the baseball instincts, you're not going to be a good baserunner."
The A's appealed, saying Dyson left early.
"I thought so, from my angle," manager Bob Geren said. "You make the appeal play. You put the call in their hands."
Dyson, at first, thought the A's may have been right.
"I thought I probably left a hair early, but I looked at the replay and it looked good to me," he said.
He's not going to argue with his manager as to who's the fastest man in the major leagues.
"I'd put myself up against anyone," he said. "I work on my game day in and day out, learning keys, trying not to make mistakes. Even though you've got speed, you've got to be smart about it."
Joakim Soria (2-0) worked the ninth and got the victory.
McCarthy and Royals starter Luke Hochevar staged a crisp pitching duel the first four innings. McCarthy retired the first 14 batters and went eight innings plus four batters. He gave up seven hits and four runs, with two walks and three strikeouts. He also lost a complete game 1-0 decision to Seattle on April 21.
"I felt ready to go [in the ninth]. They were a couple of good pitches that I gave up hits on," he said.
Hochevar, trying to beat Oakland for the first time in five decisions, was locked in a scoreless duel with McCarthy until the fifth when Butler's sacrifice fly capped a 3-run inning
The right-hander retired the first 13 batters he faced. But Kevin Kouzmanoff snapped that with a single. Cliff Pennington, the next batter, slammed Crow's 2-1 pitch into the visitor's bullpen, tying it 3-all with the first runs Crow had allowed as a major leaguer.
Hochevar came in with an 0-5 record and a 9.00 ERA against the A's and did not allow a baserunner until David DeJesus, his former Royals teammate, tripled with two outs in the fourth.
McCarthy did not allow a baserunner until rookie Eric Hosmer singled into right with two outs in the fifth for his first major league hit. McCarthy had not even gone 2-0 on a batter until Francoeur lined out to first baseman Daric Barton just before Hosmer came to the plate.
The Royals finally broke through against McCarthy when Matt Treanor and Alcides Escobar, the Nos. 8 and 9 hitters, singled leading off the sixth. After a sacrifice bunt, Melky Cabrera and Alex Gordon stroked RBI singles for a 2-0 lead before Butler's sacrifice fly put the Royals on top 3-0.
"McCarthy was tough," Aviles said. "He was going in and out, cutter, curveball. He pitched really well tonight. He pitched well the whole game. I'm not surprised he finished out the game."
The A's have not been shut out by Kansas City since Aug. 7, 1996, a span of 139 consecutive games. ... Hosmer and RF Francoeur almost ran into each other chasing Josh Willingham's pop fly in the seventh. At the last second, the rookie pulled back and Francoeur made the catch. ... A's LF Willingham was tossed by home plate umpire Bill Miller for arguing a called third strike ending the eighth.