BOSTON -- The music was blaring in the clubhouse and Boston utility player Brock Holt was holding a microphone, acting like a DJ.
The defending World Series champion Red Sox were clearly ready to relax and have fun again.
Rick Porcello pitched six innings of one-run ball, Sam Travis hit a two-run homer and the Red Sox halted their eight-game losing streak with a 7-5 victory over the struggling Kansas City Royals on Monday night.
"That's kind of where we need to be in general," Porcello said. "Some pressure when you start losing, especially with the talented team we have. That's kind of how we need to be every day, kind of relaxed and focus on the task in hand."
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.
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. It was their first win since beating the rival Yankees at home on July 27 and moved them 5 1/2 games behind Tampa Bay for the AL's second wild-card spot.
"Obviously we had a rough week, but we still believe in ourselves," Devers said through a translator.
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.
"I thought he threw the ball fine. He did a nice job," Royals manager Ned Yost said. "He gave us a chance to win the game."
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.
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.
"(I) wasn't even aware of that but (I'm) glad they gave it to (me)," Viloria said through a translator.
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 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.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Gomber expected to start for the Rockies against Angels
Colorado Rockies (43-57, fourth in the NL West) vs. Los Angeles Angels (50-49, fourth in the AL West)
Braves to take on Mets on the road
Atlanta Braves (49-51, third in the NL East) vs. New York Mets (53-45, first in the NL East)
Quantrill expected to start as Indians host the Cardinals
St. Louis Cardinals (50-50, third in the NL Central) vs. Cleveland Indians (49-48, second in the AL Central)
Anderson expected to start as Pittsburgh hosts Milwaukee
Milwaukee Brewers (58-42, first in the NL Central) vs. Pittsburgh Pirates (38-61, fifth in the NL Central)
Alexander scheduled to start for Detroit against Minnesota
Detroit Tigers (47-55, third in the AL Central) vs. Minnesota Twins (43-58, fifth in the AL Central)
Moore expected to start for the Phillies against the Nationals
Washington Nationals (45-54, fourth in the NL East) vs. Philadelphia Phillies (50-49, second in the NL East)