The Orioles, now leading Boston by 3½ games in the AL East, also hiked their major league-leading homer total to 60.
"You've seen our lineup," Baltimore manager Lee Mazzilli said. "We've got guys 1 through 9 that can take you out of the park at times. We'd like to stay away from it and not think about the home runs all the time, that's for sure. But it's nice to get a three-run home run, too."
A three-run shot is just what Mora delivered off D.J. Carrasco (0-1) in the third, just after the Royals had taken a 3-0 lead off Bruce Chen in the second. Mora added a solo shot in the sixth, right after Newhan's two-run drive off Andrew Sisco, who faced three batters and gave up two home runs.
Sisco relieved Carrasco with one on and two outs in the sixth.
"I would have bet my house (Newhan) wouldn't have hit a home run off him. But he left a breaking ball up and Newhan took it deep," Royals interim manager Bob Schaefer said. "And then he gave up another home run.
"They're a good team, no doubt about it. You can't afford to give up home runs, but they can hit home runs."
Mora had four RBI for the Orioles, who won their sixth straight in Kansas City.
Chen (5-2) went 6 2/3 innings and gave up four runs and seven hits. He walked two and had eight strikeouts, one less than his career high.
He was relieved with two on and two outs by Todd Williams, who retired Mike Sweeney when Sweeney's liner bounced off the back of the right-hander's right arm and rolled to first baseman Rafael Palmeiro.
He was replaced starting the eighth by Steve Kline and will be day-to-day.
"It feels all right now," Williams said. "But obviously, it's going to be sore. It feels like you know it's going to be sore but right now it's fine. The relief was that we got the out."
B.J. Ryan pitched the ninth for his 12th save in 13 opportunities.
Carrasco, in his second start since being recalled from Triple-A Omaha, went 5 2/3 innings and was charged with five runs and 10 hits. The Royals dropped to 5-15 at home.
"It was just like my last outing, just the one bad pitch," Carrasco said. "I left a pitch up and (Mora) did his job. He's a great hitter."
But not, according to Mora, a hot hitter. Even though he's had three straight multihit games, Mora said he's not quite in the groove.
"Me, I just try to put the ball in play. I just try to hit the ball," he said. "I don't try to hit home runs. Not yet. I just try to make good contact on the ball. I'll tell you when I'm feeling good."
The Orioles were trailing 3-0 in the third when Jeff Fiorentino singled leading off and Newhan walked ahead of Mora's home run.
Javy Lopez gave Baltimore a 4-3 lead with a double in the fifth.
Matt Diaz's RBI single and John Buck's two-run double off Chen in the second gave the Royals a 3-0 lead. Tony Graffanino had an RBI single in the seventh.
"After that second inning, my teammates came back and scored three more. I felt like I was back in the game," said Chen. "These guys are unbelievable. I gave up three runs and Miguel Tejada and Melvin Mora said, `Hold them there, we're going to win this game.' In the next inning they scored three runs."
- OF Sammy Sosa's visit to the doctor was pushed back one day until Thursday. The Orioles are hoping he'll be cleared to take batting practice this weekend. Sosa has been on the DL since May 10, retroactive to May 5, with an abscess and staph infection in his left foot.
- RHP Jose Lima, who's been struggling with his control while going winless in three decisions, will start on Saturday against St. Louis instead of Sunday. Schaefer hopes moving him up a day will help his control.
- Sweeney's single in the third stretched his hitting streak to 12 games.
- Diaz had his first career three-hit game.