OAKLAND, Calif (CBS) -- James Shields pitched eight sharp innings for his first win in nearly a month, and the Kansas City Royals beat the Oakland Athletics 4-2 on Sunday.
Shields (10-6) retired his first 15 batters before Josh Reddick hit a leadoff homer in the sixth. Alberto Callaspo then had a one-out single before Sam Fuld lined into an double play.
The 32-year-old Shields (10-6) allowed two runs and four hits. He walked none for the fifth time this season.
Billy Butler and Omar Infante had three hits apiece for Kansas City.
Reddick homered twice, getting to Shields again in the eighth.
The A's have the best record in baseball at 67-43, but have sputtered offensively since trading cleanup hitter Yoenis Cespedes to Boston on Thursday in a deal for ace Jon Lester. They lead the stacked AL West by one game over the Los Angeles Angels, who beat Tampa Bay 7-5 on Sunday.
Oakland was without injured leadoff hitter Coco Crisp, though it hardly mattered the way Shields was pitching.
Shields allowed only three balls out of the infield through the first five innings. One of them was a deep fly to center by Josh Donaldson in the first, the closest Oakland came to getting a man on base before Reddick's home run.
Shields got his first win since he beat his former team, Tampa Bay, on July 7.
Greg Holland pitched the ninth for his AL-leading 31st save.
The Royals won despite hitting into four double plays.
Nori Aoki's RBI single in the fifth gave Kansas City a 1-0 lead. Infante followed with a two-run double and later scored on a single by Salvador Perez.
All the runs came against Scott Kazmir (12-4).
Reddick has four home runs since coming off the disabled list July 22. It's the sixth multihomer game of his career and second this season.