The struggling Oakland Athletics took advantage of some bumbling Kansas City defense to pile up their most offense in more than three weeks, helping them snap a nine-game losing streak with a 9-3 victory over the Royals on Saturday.

Brandon McCarthy (4-3) came off the disabled list to throw six innings, Jemile Weeks reached base four times and Josh Reddick had a two-run triple during a four-run fifth for Oakland.

The A's nine runs surpassed their total from the previous six games combined.

One of the worst offenses in baseball hardly looked like it against Luke Hochevar (3-6), who has become something of a salve for scuffling attacks. The former first overall draft pick allowed six runs in 4 2-3 innings, the sixth time he's failed to get past the fifth this season.

Hochevar now has a 6.63 ERA, among the worst in the majors.

McCarthy picked up where he left off when he went on the DL with a strained right shoulder, working out of trouble whenever it presented itself. The A's right-hander matched a career high with his fourth straight win, and hasn't lost since April 21 against Cleveland.

Eric Hosmer, Jeff Francoeur and Yuniesky Betancourt each drove in a run for the Royals, who committed three errors and were also hurt by a wild pitch and a passed ball.

As if things weren't going bad enough for the Royals, they appeared to miss out on another run when plate umpire Paul Schrieber called Francoeur out at home on a flyball in the sixth.

Replays showed that A's catcher Kurt Suzuki missed the swiping tag by a wide margin, and Francoeur and Royals manager Ned Yost both argued in vain.

Yost grew more incensed with Schrieber the next half inning when the umpire got into an argument with Royals catcher Humberto Quintero in the middle of an at-bat. Schrieber tossed him from the game — the reason for the ejection was unclear — bringing Yost out to argue again.

Things had soured for Kansas City long before that, though.

Just as things had finally perked up for Oakland.

After scoring 12 runs total during their nine-game skid, the Athletics put one on the board in the first inning on Weeks' leadoff triple and an RBI groundout by Collin Cowgill.

It was the first run scored by the A's in 19 innings.

The Royals matched it on Francoeur's two-out single later in the first, but Oakland pulled back ahead in the fourth. Yoenis Cespedes led off with a double, went to third when center fielder Jarrod Dyson bobbled the ball, and scored when Hochevar unfurled a wild pitch.

Oakland piled on in the sixth, starting with Reddick's two-run triple.

Cespedes added a run-scoring single, and after Hochevar was finally lifted — receiving a chorus of boos and some sarcastic cheering en route to the dugout — Kila Ka'aihue met reliever Tim Collins with an RBI double to right field, giving the A's a 6-1 lead.

The Royals tacked on runs in the sixth and seventh innings, but Oakland added three more in the eighth after errors by Betancourt and Alcides Escobar, helping the Athletics wrap up their first victory since May 21.

NOTES: Weeks extended his season-best hitting streak to nine games. ... Quintero's ejection was the first of his career. ... The Royals' Alex Gordon has broken four bats during the first two games of the series. ... Royals RHP Vin Mazzaro will make his first start against his former team Sunday. LHP Tommy Milone starts for Oakland.