Alex Cora kept watching the Red Sox hammer pitches right at the Kansas City Royals during the first few innings Tuesday night, and the Boston skipper was confident that eventually some of them would find their way through.
Eduardo Núñez finally solved the problem by depositing a pitch over the fence.
His pinch-hit, three-run homer in the eighth inning broke open what had been a nip-and-tuck game, and the Red Sox went on to beat the Royals 8-3 to open a grueling stretch of 17 games in 16 days.
"We were swinging the bat well. I know we didn't score early, but that was the hardest we'd hit the ball all season," Cora said. "Eventually we got some results."
Rafael Devers also drove in a pair of runs for the Red Sox, while Eduardo Rodríguez (6-3) kept the Royals at bay over 5 2/3 innings. He allowed just six hits while striking out seven, his only mistake a pitch in the second that Cheslor Cuthbert sent to left field for a two-run homer.
Glenn Sparkman matched Rodríguez most of the way, but he left a runner on base when he was lifted with one out in the sixth. Scott Barlow (1-2) promptly gave up the lead with a miserable relief outing, and Núñez's homer off Jake Diekman in the eighth inning was merely the finishing touch.
The Red Sox improved to 9-1 in Rodríguez's last 10 starts.
"I think the only pitch I missed was the one that he hit the homer," Rodríguez said. "Everybody believes in this offense. We've just got to keep the game close when we're out there."
Meanwhile, the woebegone Royals lost for an AL-leading 20th time when they had the lead.
Even more frustrating for Kansas City: Sparkman was slicing up Boston's lineup, allowing just two hits through five innings. But after Mookie Betts' leadoff double in the sixth, and Andrew Benintendi's flyout, Sparkman was yanked by manager Ned Yost despite having thrown just 80 pitches.
"I felt really good," Sparkman said, "but I hadn't gone that high, so 85 was probably the limit."
Barlow entered the game and the spark went out of the Royals.
J.D. Martinez delivered an RBI triple, Devers drew a walk and Xander Bogaerts added a sacrifice fly to knot the game 2-all. Brock Holt followed with a double to give the Red Sox their first lead.
"Cuthbert's home run was good. We took a two-run lead going to the sixth there," Yost said. "Sparkman's high-water mark was 68 pitches, so we were going to take him to 80 or around there. He got right to the 80 mark. We decided to bring in one of our most productive relievers."
It was still 3-2 in the eighth when Núñez connected for Boston's second pinch-hit homer this season.
"It was a matter of having good at-bats," Cora said, "and getting to the bullpen."
Red Sox 1B Mitch Moreland (low back strain) hit off a tee and could return when he's eligible this week, Cora said. He went on the injured list retroactive to May 26. ... 1B Steve Pearce (low back strain) is still not doing any baseball activities. He went on the IL on Saturday.
Royals 3B Hunter Dozier (strained oblique) was placed on the IL before the game, though the move was retroactive to last Friday. Yost was optimistic Dozier will be back in about a week.
The Red Sox made a couple of convenient picks when the first-year player draft resumed Tuesday. In the third round, they selected big Kansas right-hander Ryan Zeferjahn. Two rounds later, they took his battery mate in catcher Jaxx Groshans.
The Royals focused on college pitching on Day 2 of the draft, grabbing five more to go with right-hander Alec Marsh, their compensatory pick out of Arizona State. The Royals likewise stockpiled college arms in last year's draft, using their first five picks on them.
Left-hander Chris Sale (1-7, 4.35 ERA) tries to bounce back from three straight shaky starts when he takes the mound for Boston on Wednesday night. RHP Jakob Junis (4-5, 5.35) starts for Kansas City.