James Shields earned his first home win in more than three months, Alex Gordon homered and the Kansas City Royals beat the Boston Red Sox 4-3 on Sunday.
The Royals improved to 18-5 since the All-Star break, winning seven consecutive series.
Shields (7-8), who had not won at Kauffman Stadium since an April 30 victory over Tampa Bay, limited the Red Sox to three runs and seven hits over seven innings. He struck out five and walked three.
Gordon hit a 2-2 pitch from John Lackey (7-10) out to right in the third for his third homer in five games.
Lackey, who is 0-4 in his past five starts, walked David Lough and Eric Hosmer to lead off the first. Gordon's two-out single scored Lough to tie it at 1.