Homer Bailey (4-3) gave up one run and four hits in five-plus innings, and Scott Barlow struck out a career-high six in two innings of relief for the Royals. Jorge Soler added his team-leading 10th home run of the season.
Gordon’s second homer, a solo shot in the fifth inning, was the 1,500th hit of his career. It was also his fifth career multihomer game and first since August 20, 2016, when he hit two against Minnesota. He also homered in the bottom of the first inning, sending a two-run shot over the home bullpen in right field.
Bailey left after giving up back-to-back singles to lead off the sixth. Barlow came in and pitched around a one-out walk to strike out the side and leave the bases loaded, then struck out all three batters he faced in the seventh inning.
After giving up 10 runs in 10 innings over his first two starts, Bailey has allowed just 12 runs in his last six outings with a 3.48 ERA over 31 innings.
Jake Diekman worked his eighth consecutive scoreless outing, striking out two batters in the eighth inning and Ian Kennedy pitched a perfect ninth. The Royals’ bullpen threw four hitless innings and struck out eight.
Soler homered in the bottom of the sixth.
Phillies starter Jake Arrieta (4-3) also went five-plus innings, giving up four runs and seven hits. He allowed three home runs in a start for the first time since May 29, 2015, against the Royals. Gordon also went deep in that game.
Bryce Harper walked three times and scored Philadelphia’s only run of the game, coming home on Odubel Herrera’s RBI grounder in the fourth.