OAKLAND, Calif. -- Guillermo Moscoso had no intention of giving up the ball easily. Oakland manager Bob Melvin had to wrestle it from him with two outs in the ninth inning.
Melvin appreciated Moscoso's competitive nature.
Moscoso held Kansas City hitless until rookie Salvador Perez singled with two outs in the eighth inning, and the Athletics beat the Royals 7-0 Wednesday.
"I guess my one bad pitch came in the last inning," Moscoso said. "They showed the last two games that they are good hitters and that just made me focus more. I was feeling great."
Moscoso (8-8) wound up allowing two hits in 8 2/3 innings. The right-hander walked one and struck out four in his 18th major league start.
"A lot of guys may have better stuff or better location than Guillermo but no one has a bigger heart," Melvin said. "The ninth inning was painful for me. I just couldn't stomach the fact he would throw 130 pitches. He wouldn't give me the ball. It was actually a wrestling match for a little while."
Moscoso set an Oakland record by retiring 30 consecutive hitters -- the final 13 against Seattle last Friday and the first 17 against the Royals. He walked Kansas City's Alcides Escobar with two outs in the sixth.
"It was a great day for everybody," Moscoso said. "I always want to go deep into the game. This is something you never know if it will happen."
Perez broke up the no-hit bid by lining a clean, opposite-field field single to right.
"You have to take your hat off to that pitching performance," Royals manager Ned Yost said. "We've been swinging the bats really well. You know what? That kid threw a damn good game and that's just the way it is."
Butler's eight-pitch at-bat in the ninth ended with A's third baseman Scott Sizemore making two errors on the play. That prompted Melvin to bring in Fautino De Los Santos, who got the final out on one pitch.
Jemile Weeks had four hits and drove in a run for the A's, who won for the fifth time in seven games. Sizemore doubled home two runs and Hideki Matsui, Josh Willingham and Adam Rosales also drove in runs.
"He was putting the zeros up on the board," Weeks said. "I didn't even know he had one going until they got their first hit. He located every pitch and when he does that he usually has success."
Bruce Chen (10-7) allowed six runs on eight hits in his 6 1/3 innings.
"I felt like I was making my pitches but in the end we lost," Chen said. "Their pitcher did a good job and he beat us."
Crisp, after missing four games with a sore right foot, doubled in the first inning, stole his 40th base and scored on Willingham's sacrifice fly.
Earlier, Taylor lost a hit when he was thrown at first base by strong-armed right fielder Jeff Francoeur. The 9-3 putout was just the fifth in the AL since 1974.
The Royals have a major league-best 48 outfield assists, 25 of them at home plate. Francoeur has 95 career outfield assists, most in the majors since he made his debut in 1995. ... A's IF Brandon Allen was given the day off. ... Melvin said he'll wait until after Thursday's off-day to decide if he wants to use an extra pitcher into the rotation, with LHP Josh Outman the leading candidate. ... RHP Brandon McCarthy (8-7, 3.41) will start for the A's at the Texas Rangers on Friday. McCarthy has thrown back-to-back complete games, including a three-hit shutout in his last start. ... RHP Luke Hochevar (10-10, 4.76) starts Thursday's game in Seattle for the Royals. Hochevar will pitch at Safeco Field for the first time. He's coming off an impressive victory in which he did not allow an earned run in eight innings. He's 5-2 with a 3.51 ERA since the All-Star break. ... Crisp became the 10th A's player to record 40 stolen bases in a season.
2021 MLB playoffs: Who is in, who can clinch next and full playoff schedule through World Series
October is right around the corner. Here's the latest on which teams will be playing in the postseason.
Fantasy baseball forecaster: Team hitting ratings
Stay ahead of the game and optimize your fantasy baseball hitters with our forecaster, which provides a rolling 10-day outlook of every team's hitting matchups as well as the potential for stolen bases.
Fantasy baseball forecaster: Pitcher projections for the next 10 days
Keep up to date on who is pitching -- and how well they're expected to do -- with our forecaster, which provides a rolling 10-day outlook of every team's probable starting pitchers with game score projections.
MLB playoff race has brought 'the joy back' for the Los Angeles Dodgers' Albert Pujols
He's no longer an everyday player, but "Tio Albert" is making a difference with the Dodgers -- and playing to win his first pennant in a decade.
MLB Power Rankings Week 24: Where all 30 teams stand as playoff picture comes into focus
Who is rising and falling as the end of the season rapidly approaches?
The moments that have defined Albert Pujols' legendary MLB career
From his historic start with the Cardinals to his time with the Angels and Dodgers, check out the top moments from Albert Pujols' storied baseball career.