SAN DIEGO (AP) -- James Shields scattered seven hits over seven innings, Eric Hosmer drove in a season-high four runs and the Kansas City Royals beat the San Diego Padres 8-0 Wednesday.
The Royals scored three times in the first and that was plenty for Shields (4-3). He struck out four, walked two and threw 118 pitches.
Shields won his fourth straight road start of the season. Since 2013, he is 14-4 in 24 road starts with a 2.00 ERA.
Two relievers finished for the Royals. The Padres were shut out for a major league-high sixth time this season. San Diego has lost six of eight overall.
Andrew Cashner (2-5) took the loss as he was again derailed by an anemic offense and shoddy defense.
Cashner, who lasted a season-low four innings, had trouble from the start. He threw 43 pitches in the first, hurt by a pair of errors from shortstop Everth Cabrera that led to two unearned runs.
Alcides Escobar reached when Cabrera misplayed his ground ball after Nori Aoki opened with a single. Hosmer hit a two-run single, Alex Gordon reached base two batters later when Cabrera mishandled his grounder and Danny Valencia followed with a broken-bat, RBI single.
Cashner ended the inning by getting Shields to ground out with the bases in a nine-pitch at-bat.
The Padres had a chance to cut into their deficit in the second when they got three hits. But Cameron Maybin was too aggressive rounding second base on an infield single, and Escobar slid in behind from shortstop, took Hosmer's throw from first base and made the tag.
Padres manager Bud Black requested a review, but the call stood. It marked the first time in five appeals this season that Black had lost.
The Royals' lead grew to 4-0 in the third when Gordon doubled and later scored on Mike Moustakas' sacrifice fly.
The Padres tied a season high with three errors, and had a passed ball and wild pitch in allowing four unearned runs.
NOTES: Padres 3B Chase Headley (strained right calf) will play for Single-A Lake Elsinore on Thursday and Friday. He could be activated for Saturday's game against the Marlins. ... Padres OF Carlos Quentin is with Triple-A El Paso for at least two games and then will be re-evaluated. Quentin has been on the DL all season with knee problems. ... Royals 2B Omar Infante was out of the lineup with a sore back. He was replaced by Danny Valencia, one of three Royals with three hits. ... The Padres open a four-game series with the Marlins on Thursday with RHP Ian Kennedy (2-4, 3.43) facing RHP Jacob Turner (0-0, 9.90). ... The Royals play Seattle on Thursday as LHP Danny Duffy (1-2, 2.19 ERA) goes against Mariners RHP Hisashi Iwakuma (1-0, 5.40).
Copyright 2014 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.