Mookie Betts had four hits, raising his American League-leading average to .343. Ten Red Sox players had RBIs as they scored a season high in runs. They scored 11 runs after the sixth inning.
Benintendi became the first Boston player to walk four times and homer in a game since David Ortiz in 2007. He also drove in two runs.
Xander Bogaerts had three RBIs for the Red Sox, who have won five straight and 12 of their past 15.
Christian Vazquez had a two-run, two-out single in the seventh.
Royals pitchers walked 13, one shy of the franchise record, including three in the three-run seventh. Mitch Moreland’s sacrifice fly scored Benintendi, who led off the inning with his fourth walk, for the first run of the inning.
The Red Sox rallied from a three-run deficit to take the lead with a four-run fifth, which Bogaerts highlighted with a three-run double.
Royals rookie starter Brad Keller walked five, including Benintendi and Moreland in the fifth to load the bases before Bogaerts’ double. J.D. Martinez singled in the initial run of the inning, hiking his major league-leading RBI total to 74.
David Price, however, could not hold the lead. Price, who had never hit three batters in a game, hit three Royals in a four-batter span, including Lucas Duda with the bases loaded to bring home Whit Merrifield in the fifth to tie the score at 4.
Price was lifted after 4 2/3 innings, allowing four runs on six hits with nine strikeouts.
Heath Hembree (4-1) worked 1 1/3 hitless innings to pick up the victory. Jason Adam (0-2), the third of seven KC pitchers, took the loss. Catcher Drew Butera got the final out in his sixth career relief appearance and his first since 2016.
The Royals led 3-0 after Duda homered in the second and they scored twice more in the third.
The Royals have lost eight straight and 27 of 32 to fall 38 games below .500 for the first time since ending the 2006 season 62-100. They have lost 14 of their past 15 games at Kauffman Stadium.
The game lasted 4 hours, 3 minutes, the longest nine-inning game for both clubs this season.
MOUSTAKAS AT FIRST
Mike Moustakas, who normally plays third, made his third start of the season at first. It was probably no coincidence a Yankees scout was in attendance and they are in the market for a first baseman.
The Royals placed RHP Justin Grimm on unconditional release waivers. Grimm had been on the disabled list with a right shoulder impingement. He was 1-3 with a 13.50 ERA in 16 relief appearances.
Red Sox: RHP Joe Kelly was led off the field by the trainer in the eighth with an undisclosed injury after retiring the first two batters. . LHP Drew Pomeranz (bicep tendinitis) made a rehab start Saturday for Triple-A Pawtucket. He allowed one run on five hits and two walks over three innings, while striking out one. He threw 37 strikes in 60 pitches and induced six groundball outs against Scranton/Wilkes-Barre.
Red Sox: RHP Rick Porcello, who is 10-3 with a 3.57 ERA in 18 starts, is the probable for the series finale.
Royals: RHP Jakob Junis has lost his previous seven starts to tumble to 5-10 with a 5.13 ERA in 17 starts.