KANSAS CITY, Mo. - It was another successful birthday for Kendrys Morales.

The slugger hit his third career homer on his birthday, and the Kansas City Royals rallied to beat the Boston Red Sox 7-4 on Saturday night.

Morales connected for a tiebreaking two-run shot in Kansas City's five-run fifth against Rick Porcello (4-8). It was the eighth homer of the season for the designated hitter, who turned 32 on Saturday.

"We're bringing him a cake and candles tomorrow, make like it didn't happen, and let him do it again," said Mike Moustakas, who had two hits and two RBIs for Kansas City.

Morales powered a 1-0 sinker over the wall in right, driving in Lorenzo Cain.

"Jeremy Guthrie began to yell in the dugout, 'birthday home run, birthday home run,'" Royals manager Ned Yost said. "For him to do it three times on his birthday is special."

The Red Sox lost third baseman Pablo Sandoval (sprained left ankle) and catcher Blake Swihart (sprained left foot) to injuries. Sandoval was in a walking boot after the game.

"Both are day to day," manager John Farrell said. "We'll check them when they come in in the morning. It's undetermined right now if we're going to need to make a (roster) move. They both had X-rays here at the ballpark. Blake's is at the base of the fifth toe. There were no fractures there. There was nothing structurally, bone-wise, with Pablo either."

Red Sox designated hitter David Ortiz was ejected in the seventh inning by plate umpire Bruce Dreckman.

"All I have to say is this situation between players and umpires is getting to the ridiculous point," Ortiz said. "It seems to me that it's more of a feeling than reality. I'm an 18-year veteran in this league. When I was coming up, it seems like you would get respect for that. It doesn't work that way anymore. In my house, I was (taught) that if you don't respect me I don't have to respect you. That's how I am."

The Red Sox scored two runs in the fifth to take a 4-1 lead, but Porcello fell apart in the bottom half with a hit batter, a balk, a walk and four hits.

Porcello was charged with six runs and eight hits in five innings. The right-hander is 0-6 with a 7.50 ERA in his last six starts.

Sandoval committed a throwing error in the inning when he hurt his ankle. Swihart was hit for in the sixth after injuring his left foot on a slide into third base the previous inning.

Salvador Perez hit his fifth home run in 12 games for the Royals.

Boston's Mookie Betts led off the game with a home run, extending his hitting streak to eight games.

Right-hander Edinson Volquez (7-4) allowed four runs, eight hits and two walks in 5 1/3 innings, but won his third straight start.

"I made mistakes when I was ahead in the count," Volquez said.

Greg Holland worked the ninth for his 13th save in 14 opportunities.

TRAINER'S ROOM

Red Sox: 2B Dustin Pedroia (sore left knee) returned to the lineup after missing the previous two games. He hit third and was 0 for 5.

Royals: LHP Danny Duffy (biceps tendinitis) will come off the disabled list on Wednesday to start at Seattle.

UP NEXT

Red Sox: LHP Wade Miley (6-6) starts the series finale on Sunday. He yielded a career-high 10 earned runs in 4 2/3 innings in an Aug. 5, 2014, start against the Royals while with the Diamondbacks.

Royals: RHP Chris Young (6-2) is 4-1 with a 2.42 ERA in six home games this season.

PINO OPTIONED

Kansas City RHP Yohan Pino gave up six runs in 5 1/3 innings Friday in a loss to the Red Sox and was optioned Saturday to Triple-A Omaha. The Royals recalled RHP Aaron Brooks, who will be used in long relief. Brooks was 4-3 with a 3.42 ERA with Omaha.