KANSAS CITY, Mo. — The fortunes of Jason Hammel and the Kansas City Royals have taken similar turns this season.

Both started with high expectations, endured a miserable first month that left many fans writing them off, then found a spark somewhere along the way.

Hammel's latest starring role came Monday night, when he held the powerful Boston Red Sox in check for seven sharp innings. And when Whit Merrifield drove in the go-ahead run in the bottom of the seventh, and Mike Minor and Kelvin Herrera closed it out, the Royals had a 4-2 win — their eighth in nine games.

"That's about as good of a lineup as you're going to run into," Hammel said after his fourth straight quality start. "To keep them to six singles and a homer, I feel pretty good about it."

Eric Hosmer hit a two-run homer and Lorenzo Cain also drove in a run for the Royals (34-35), who can climb back to .500 for the first time since April 19 with a win Tuesday night.

Minor loaded the bases with two outs in the eighth, but No. 9 hitter Christian Vazquez sent a slow bounder toward third base that Cheslor Cuthbert fielded cleanly and fired to first to end the threat.

Herrera worked around Andrew Benintendi's triple in the ninth for his 16th save.

Red Sox reliever Blaine Boyer (0-1), who pitched out of a jam in the sixth, gave up a triple to Drew Butera in the seventh when Jackie Bradley Jr. couldn't make a diving catch in centre. The Royals brought in pinch-runner Ramon Torres, who scored when Merrifield sent a grounder through the left side.

"He threw me some pitches to hit and I kept missing," Merrifield said. "Late, he started to throw me two-seamers and it was actually a pretty good pitch. I just found a hole."

It was the second straight game in which Boston's stingy bullpen has allowed a pair of runs, the slump coming on the heels of 26 consecutive scoreless innings.

Hammel (4-6) scattered seven hits without a walk, stranding seven along the way, and the only damage against him came in the fourth. That's when he gave up a leadoff single to Hanley Ramirez, and the hot-hitting Bradley sent a 1-0 pitch over the bullpen in right for a two-run homer that tied the game.

Boston right-hander Hector Velazquez was nearly as good as Hammel in his second career start, carefully navigating a bunch of baserunners during the first two innings. Hosmer finally dinged him in the third with an estimated 446-foot shot into the fountains in centre.

Velazquez turned it over to his faltering bullpen after giving up five hits in 5 1/3 innings.

"He gave us everything we could have hoped for tonight," Red Sox manager John Farrell said. "You get a little bit of an idea and a game plan knocked out before the game and he did exactly what we would have hoped, which was to keep the game close, keep it under control and get us into the sixth inning."

TRAINER'S ROOM

Red Sox: 2B Dustin Pedroia was out of the lineup after getting hit in the ribs by a pitch Sunday in Houston. An MRI came back negative, and Farrell said Pedroia is day to day. ... LHP Eduardo Rodriguez (right knee) will face hitters this week before embarking on a rehab assignment.

Royals: C Salvador Perez got the night off from the starting lineup, though he entered late when the Royals ran for Butera. The time off came as Perez deals with some soreness in his side.

SIGN ON THE LINE

The Royals and first-round draft pick Nick Pratto agreed to a contract that includes a $3.45 million signing bonus. The high school first baseman, chosen with the 14th overall selection, will head to rookie ball in Arizona on Tuesday to begin his professional career.

MAKING MOVES

Royals RHP Kevin McCarthy was recalled from Triple-A Omaha and LHP Eric Skoglund was optioned back to the Storm Chasers before the game. McCarthy is in his second stint with the club this season.

UP NEXT

Red Sox: LHP Chris Sale comes off his best start in more than a month — and his first defeat during that span — when he takes the mound Tuesday. The major league leader in strikeouts allowed one run and four hits over eight innings with 10 strikeouts in a 1-0 loss at Philadelphia last Thursday.

Royals: LHP Matt Strahm makes his second career start after allowing one unearned run over five innings in a 7-2 win against the Angels last week. Strahm retired 14 of the final 16 batters he faced.

___

More AP baseball: https://apnews.com/tag/MLBbaseball