Light-hitting Bobby Dalbec had three RBIs and was a double short of a cycle, J.D. Martinez hit a two-run homer and the Boston Red Sox beat the Kansas City Royals 7-1 on Saturday.

Dalbec, Boston's No. 9 hitter, singled in the second, put Boston ahead 2-1 in the fifth with his team-high third triple, was hit by a Jackson Kowar pitch in the seventh and hit a two-run homer in the ninth off Kowar.

Dalbec is 12 for 45 with four homers and 10 RBIs in his last 12 games, raising his average to .214 and OPS to .699. He has nine homers and 32 RBIs.

Martín Pérez (5-4) allowed one run and three hits in five innings. Garrett Whitlock, Hirokazu Sawamura and Brandon Workman combined for four innings of four-hit shutout relief.

Brad Keller (6-7) lost his third straight start, giving up five runs, five hits and three walks in five innings.

Kansas City went 0 for 11 with runners in scoring position and stranded 11 runners.

Kowar allowed two runs, three hits and two wild pitches in three innings, but the 24-year-old rookie right-hander cut his ERA from 36.00 to 18.00 in three big league appearances.

Kansas City's Whit Merrifield stole three bases, raising his major league-leading total to 20. But after swiping third base in the third inning with the score 1-1, he got caught off third on Salvador Pérez's comebacker and easily was tagged out in a rundown for the second out.

Xander Bogaerts had an run-scoring single in the first, and Carlos Santana tied the score with an RBI grounder in the third.

Kiké Hernández walked leading off the fifth and scored the go-ahead run on Dalbec's triple. Danny Santana hit an RBI grounder, Alex Verdugo walked and Martinez made it 5-1 with his 14th homer.

UP NEXT

RHP Nathan Eovaldi (7-3, 3.76 ERA) will take the mound for Boston in Sunday's series finale against LHP Mike Minor (5-4, 4.63 ERA).