OAKLAND, Calif. (AP) -

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.