MINNEAPOLIS (AP) — Eric Hosmer hit two of Kansas City’s season-high four home runs, James Shields pitched six strong innings to win for first time in 11 starts and the Royals beat the Minnesota Twins 9-3 on Friday night.

Billy Butler and Mike Moustakas also homered for the Royals.

Clete Thomas homered for the Twins, who got another rough start from P.J. Walters (2-4). Walters allowed six runs in three innings one start after giving up six in the first at Cleveland last Saturday.

The Royals entered the game with the fewest home runs in the majors (43) — two behind Miami — and had given Shields (3-6) some of the worst run support in the league. But the veteran right-hander had a three-run lead by the time he took the mound for the first time Friday, thanks to Butler’s three-run homer. Shields never allowed Minnesota to get close the rest of the way.

Down 4-0 in the third, Walters allowed a two-run homer to Moustakas and drew a chorus of boos from the home crowd. Anthony Swarzak took over for Walters in the fourth and gave up a solo shot to Hosmer in the fifth. Hosmer got Swarzak again in the seventh, this time with Alcides Escobar on base, for the second multihomer game of his career.

The offensive outburst was a welcome change for Shields, who had been stuck on 89 wins for his previous 10 starts despite putting up quality numbers. He entered Friday night’s game with the eighth-best ERA in the A.L. (2.92), third in innings (111) and eighth in strikeouts (99). But his run support of 3.00 per nine innings pitched was second-lowest in the league.

The Twins broke through against Shields in the fourth when Justin Morneau hit an RBI doubled. Morneau came around to score three batters later on a double by Brian Dozier. Thomas led off the fifth with a solo shot to right.

Shields worked 6 1-3 innings before being pulled for Tim Collins.

Copyright 2013 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.