Billy Butler hit a three-run home run in the bottom of the eighth to give the Royals a 6-4 lead they would hold on to for a win.
After Red Sox starter Daniel Bard walked Jarrod Dyson and Alex Gordon to lead off the eighth, then Boston brought in Matt Albers. But Butler took him deep to turn a Kansas City deficit into a lead. Butler went 2-for-4 on the night.
Danny Duffy got the start for the Royals, giving up four runs (three earned) over 4 1/3 innings. He gave up seven hits and five walks, struggling with his location. Jose Mijares gave up two hits over the seventh and eighth innings, picking up the win. Jonathan Broxton pitched a perfect ninth for the save.
The Royals scored three runs in the bottom of the second. The first came on a balk from Bard, scoring Hosmer from third. Chris Gets singled home another run and Humberto Quintero singled home the third run of the inning. Boston tied the game at three in the fourth and took a 4-3 lead in the fifth.