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.

More Images
Boston Red Sox's Bobby Dalbec, left, makes the play at first base after Toronto Blue Jays' Marcus Semien (10) grounded into a double play during the sixth inning of a baseball game, Saturday, June 12, 2021, in Boston. (AP PhotoMichael Dwyer)

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.

Boston Red Sox third baseman Rafael Devers attempts to bare-hand a ground ball hit by Kansas City Royals' Kelvin Gutierrez during the ninth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. Gutierrez singled on the play. (AP PhotoColin E. Braley)

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.

Boston Red Sox' J.D. Martinez, center, is congratulated by Alex Verdugo, left, after hitting a two-run home run as Kansas City Royals catcher Salvador Perez, right, looks away in the fifth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

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 Royals' Whit Merrifield reacts after striking out in the seventh inning of the team's baseball game against the Boston Red Sox at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

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.

Kansas City Royals catcher Salvador Perez, left, waits as Boston Red Sox' Enrique Hernandez, center, congratulates Bobby Dalbec, who had hit a two-run home run in the ninth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. The Red Sox won 7-1. (AP PhotoColin E. Braley)

More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports

Kansas City Royals' Whit Merrifield, left, is tagged out by Boston Red Sox third baseman Rafael Devers, right, during a rundown between home plate and third base in the third inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Kansas City Royals' Whit Merrifield, left, is tagged out by Boston Red Sox third baseman Rafael Devers, right, during a rundown between home plate and third base in the third inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Kansas City Royals' Whit Merrifield, left, is chased down by Boston Red Sox third baseman Rafael Devers, right, for an out during a rundown between home plate and third base in the third inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Kansas City Royals' Whit Merrifield, left, is chased down by Boston Red Sox third baseman Rafael Devers, right, for an out during a rundown between home plate and third base in the third inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Boston Red Sox second baseman Enrique Hernandez, left, catches a late throw as Kansas City Royals' Whit Merrifield, right, steals second base in the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Boston Red Sox second baseman Enrique Hernandez, left, catches a late throw as Kansas City Royals' Whit Merrifield, right, steals second base in the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

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.

Boston Red Sox's Bobby Dalbec, left, makes the play at first base after Toronto Blue Jays' Marcus Semien (10) grounded into a double play during the sixth inning of a baseball game, Saturday, June 12, 2021, in Boston. (AP PhotoMichael Dwyer)

Boston Red Sox's Bobby Dalbec, left, makes the play at first base after Toronto Blue Jays' Marcus Semien (10) grounded into a double play during the sixth inning of a baseball game, Saturday, June 12, 2021, in Boston. (AP PhotoMichael Dwyer)

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.

Boston Red Sox third baseman Rafael Devers attempts to bare-hand a ground ball hit by Kansas City Royals' Kelvin Gutierrez during the ninth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. Gutierrez singled on the play. (AP PhotoColin E. Braley)

Boston Red Sox third baseman Rafael Devers attempts to bare-hand a ground ball hit by Kansas City Royals' Kelvin Gutierrez during the ninth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. Gutierrez singled on the play. (AP PhotoColin E. Braley)

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.

Boston Red Sox' J.D. Martinez, center, is congratulated by Alex Verdugo, left, after hitting a two-run home run as Kansas City Royals catcher Salvador Perez, right, looks away in the fifth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Boston Red Sox' J.D. Martinez, center, is congratulated by Alex Verdugo, left, after hitting a two-run home run as Kansas City Royals catcher Salvador Perez, right, looks away in the fifth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

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).

Kansas City Royals' Whit Merrifield reacts after striking out in the seventh inning of the team's baseball game against the Boston Red Sox at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Kansas City Royals' Whit Merrifield reacts after striking out in the seventh inning of the team's baseball game against the Boston Red Sox at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports

Kansas City Royals catcher Salvador Perez, left, waits as Boston Red Sox' Enrique Hernandez, center, congratulates Bobby Dalbec, who had hit a two-run home run in the ninth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. The Red Sox won 7-1. (AP PhotoColin E. Braley)

Kansas City Royals catcher Salvador Perez, left, waits as Boston Red Sox' Enrique Hernandez, center, congratulates Bobby Dalbec, who had hit a two-run home run in the ninth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. The Red Sox won 7-1. (AP PhotoColin E. Braley)

Kansas City Royals' Whit Merrifield, left, is tagged out by Boston Red Sox third baseman Rafael Devers, right, during a rundown between home plate and third base in the third inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Kansas City Royals' Whit Merrifield, left, is tagged out by Boston Red Sox third baseman Rafael Devers, right, during a rundown between home plate and third base in the third inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Kansas City Royals' Whit Merrifield, left, is chased down by Boston Red Sox third baseman Rafael Devers, right, for an out during a rundown between home plate and third base in the third inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Kansas City Royals' Whit Merrifield, left, is chased down by Boston Red Sox third baseman Rafael Devers, right, for an out during a rundown between home plate and third base in the third inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Boston Red Sox second baseman Enrique Hernandez, left, catches a late throw as Kansas City Royals' Whit Merrifield, right, steals second base in the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)

Boston Red Sox second baseman Enrique Hernandez, left, catches a late throw as Kansas City Royals' Whit Merrifield, right, steals second base in the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Saturday, June 19, 2021. (AP PhotoColin E. Braley)