Jarren Duran hit a go-ahead two-run homer in the seventh inning, and the Boston Red Sox completed a three-game road series sweep of the scuffling Kansas City Royals with a 4-3 victory Wednesday night.