BOSTON — Rick Porcello pitched six innings of one-run ball, Sam Travis hit a two-run homer and the Boston Red Sox halted their eight-game losing streak with a 7-5 victory over the struggling Kansas City Royals on Monday night.
Rafael Devers added a solo shot for the Red Sox. Travis' gave Boston a homer in a club-record 18 straight games in Fenway Park. The old mark was set in 1969.
Bubba Starling, Meibrys Viloria and Cheslor Cuthbert each went deep for Kansas City, with Viloria's his first homer in the majors and Starling's a three-run shot.
It was the seventh straight loss for the Royals, who had a 10-game skid in the season's first two weeks.
Porcello (10-8), who smashed a pair of TV monitors in the Fenway dugout in frustration in his last start, gave up four hits, walked two and struck out five.
The only thing he broke this time was the defending World Series champions' losing streak. They hadn't won since beating the rival Yankees at home on July 27 and entered the day 6 1/2 games out of the AL's second wild-card spot.
The longest skid for a defending champ is 11 games, done by both the 1998 then-Florida Marlins (twice) and the 1986 Royals.
Boston's starters had a 10.95 ERA over the eight-game skid.
Brandon Workman got the final three outs for his sixth save.
Making his fourth start since being acquired from the Chicago Cubs in July, Mike Montgomery (1-5) gave up four runs -- two earned -- over five innings and fell to 0-3 since joining the Royals.
In their first time through the order against Montgomery, the Red Sox struck out five times. Boston jumped ahead with three runs the second time.
Mookie Betts opened the third inning with a walk and Devers singled. Shortstop Nick Lopez booted Xander Bogaerts' grounder, with Betts scoring from third.
After Andrew Benintendi bounced into a double play, Travis hit his shot into the Green Monster seats. Devers hit his over the Monster in the fifth.
Benintendi's two-run double highlighted a three-run seventh that made it 7-2.
Viloria's homer went over the Monster and the ball bounced onto the field, where it rolled it down the line and was picked up by a ball girl, who gave it to a child in the first row.
Some in the Royals dugout yelled and finally got her attention before throwing her a ball. She quickly went over and swapped it.
Boston manager Alex Cora knows his team's in a big hole.
"We've got to win series. That's the bottom line," he said before the game. "If you win every series from now on, you put yourself in a good spot. If we do something great as far as math and percentages and all that, I do believe that we do need a streak of putting good pitching together. We can't talk about it, `We'll be fine. We'll be fine.' Right now, we're not fine."
Royals: INF Adalberto Mondesi (left shoulder) is with the team doing his rehab work, but manager Ned Yost said it's likely a while before he returns to the lineup.
Red Sox: DH J.D. Martinez was scratched from the lineup due to back tightness. . Cora and a trainer came out to check on Betts when he was on first in the seventh. He stayed in but limped around the bases on Benintendi's double and was removed with a left shin contusion.
Royals: RHP Jakob Junis (6-10, 5.03 ERA) is slated to start on Tuesday. He's pitched at least six innings in 11 of his last 14 starts.
Red Sox: RHP Andrew Cashner (10-6, 4.51) is set to start for Boston and is looking to set a career high in wins.