KANSAS CITY, Mo. -- Whit Merrifield won a seven-pitch battle and the Kansas City Royals won for the eighth time in nine games.
The Royals inched within a game of .500 (34-35).
Drew Butera's one-out triple, his first of the season, got the Royals rolling in the seventh. Ramon Torres ran for Butera. Merrifield fouled off the first four pitches, took a ball and then laced a run-producing single to left.
"Whit with a phenomenal bat, just a grind at-bat, where he was bound and determined to find a way to put the ball in play," Royals manager Ned Yost said. "He kept fouling balls off down the right field line, staying on it, staying on it and found a way to squeak it through."
With the infield in, Merrifield punched it through the hole.
"A runner on third with less than two out, you've got to get a ball up you can drive," Merrifield said. "He threw me a good two-seam down and I found a hole."
Merrifield went to second on a Jorge Bonifacio chopper and scored on a Lorenzo Cain single. The white-hot Cain went 2-for-4 and is 17-for-40 (.425) with 12 RBIs in his past 10 games.
Hammel (4-6) allowed two runs on seven hits with no walks and four strikeouts over seven innings. In four June starts, Hammel is 3-0 with a 2.30 ERA. He has allowed seven earned runs in 27 1/3 innings, giving up 24 hits, striking out 19 and walking one.
"Seven strong innings," Yost said of Hammel. "He only mis-located a slider to (Jackie) Bradley (Jr.) that he hit out of the park. Besides that he was fantastic. Since he and Dave (Eiland, pitching coach) made a little mechanical tweak, he's really been on a roll."
Brian Boyer (0-1) took the loss, giving up two runs on three hits in 1 1/3 innings.
Left-hander Mike Minor, who replaced Hammel, weaved his way into and out of turmoil in the eighth. The Red Sox loaded the bases on singles by Hanley Ramirez and Bradley and a walk to pinch hitter Chris Young. The inning ended when Christian Vazquez grounded out to third baseman Cheslor Cuthbert.
"Once again we created a number of opportunities, a big one in the eighth," Red Sox manager John Farrell said.
The Red Sox stranded 11 runners and went 0-for-7 with runners in scoring position.
"You can't fault the effort at all on our part," Farrell said. "We didn't get a two-out base hit to narrow the gap."
Kelvin Herrera worked the ninth to pick up his 16th save.
Hector Velazquez, who was making his second big league start and third appearance, was removed after 5 1/3 innings, allowing two Kansas City runs on five hits in a no-decision. He walked none and struck out three.
Fernando Abad replaced Velazquez and immediately got into trouble. He walked Eric Hosmer, and Mike Moustakas put down a bunt single to the left side that beat the shift. Abad exited after facing two batters and getting nobody out.
Boyer was summoned from the bullpen and retired Cuthbert on a fly to shallow center and Alcides Escobar on a fielder's choice grounder with second baseman Josh Rutledge making a diving stop of a ball headed for center.
Boyer escaped in the sixth, but not in the seventh.
The Royals broke out on top 2-0 in the third inning. Hosmer went deep to center, a 446-foot blast on a full-count change up from Velazquez. Bonifacio was along for the ride.
"It was just a pitch I left over the plate," Velazquez said through an interpreter. "You can't make those mistakes to big league hitters and Hosmer is a good one. So he made me pay. But you have to turn the page and move forward."
Hammel could not hold the lead for two batters. Ramirez led off the top of the fourth with a bloop single to right. Bradley turned on a Hammel pitch and deposited it over the right-field fence and into the Red Sox bullpen to tie the score at 2.
Velazquez pitched out of trouble in the first when Bonifacio singled and went to third on Cain's one-out single. Hosmer struck out and Moustakas flied out to left to strand the runners.
NOTES: Red Sox 2B Dustin Pedroia was not in the lineup after being hit by a pitch in the ribs Sunday. X-rays were negative. ... Royals C Salvador Perez did not start because of discomfort in his rib cage area from a swing Sunday. Drew Butera started behind the plate, but Perez entered in the eighth after Ramon Torres ran for Butera. ... The Royals signed 1B Nick Pratto, their first-round pick out of Huntington Beach (Calif.) High School. ... The Royals recalled RHP Kevin McCarthy from Triple-A Omaha. They optioned LHP Eric Skoglund to the Storm Chasers. ... Red Sox 3B Pablo Sandoval, who did not play in the series at Houston, started Monday. ... Red Sox LHP Chris Sale and Royals LHP Matt Strahm are the Tuesday probables.