Alex Gordon, who also homered, and Eric Hosmer each had three of the Royals' 15 hits.
Rangers starter Lisalverto Bonilla retired only one of eight batters he faced before being pulled after 37 pitches. He allowed five hits, walked one, hit a batter and balked home a run.
"The inning kind of got away from Bonilla," Rangers manager Jeff Banister said. "He fell behind and his pitch count got up. It was inconsistency. The home run looked like it might have been middle-middle. It's not an outing you'd want to see."
Moustakas hit a 1-2 pitch over the left field wall after Hosmer singled, Alex Rios walked and Salvador Perez was hit by a pitch.
Gordon, who was held out of early games while rehabbing from December right wrist surgery, had only three singles in 24 at-bats, entering the game.
"Obviously, I got a late start," Gordon said. "The numbers aren't great, but you turn the page every day and realize this is spring training. I want to go out there and produce and perform and when that's not happening, you've just got to come here the next day and try to figure it out.
"I'm trying to do as much as I can right now with the time I have to get ready for the season," he added. "The whole point was to make the wrist feel normal again and that's what it's feeling like right now. I think our main focus was just to come back healthy."
Adam Rosales, Leonys Martin, Jake Smolinski and Ryan Rua each hit solo home runs off Royals left-hander Jason Vargas.
Rua extended his hitting streak to 10 games, while Martin went 3 for 3 and has reached base safely in 11 straight games.
"Another outing to get ready for the season," Vargas said. "Obviously, you don't want to give up four home runs. It happened."
The Rangers optioned RHP Nick Tepesch to Triple-A Round Rock a day after yielding seven runs in 3 2-3 innings to the Dodgers. Tepesch, who made 22 starts last year, had a 10.38 ERA in five outings. RHP Nick Martinez earned the final rotation slot with a 0.84 ERA in 10 2-3 innings.
Rangers: RHP Jamey Wright is pitching his way back into bullpen consideration after throwing 2 2-3 scoreless innings. Wright, who failed to retire any of the seven Brewers he faced on March 21, has allowed three hits and no runs over 4 2-3 innings in his past two appearances. "Jamey is a known guy," Banister said. "He's probably had more multiple innings in the last few years than quite possibly any other reliever."
Royals: Vargas, who allowed five runs on seven hits in five innings, has one more exhibition start left, in Houston. Is he ready for the season? "Yeah, I ain't got no choice, right?" Vargas said. "I don't think if I wasn't ready, there would be no excuse. They give you all the time to prepare."
Left-hander Sam Freeman, who was acquired in a trade with the Cardinals on Saturday, made his Rangers' debut, allowing a run and three hits in one inning.
Rangers: SS Elvis Andrus was scratched with lower back stiffness. RHP Tanner Scheppers had a MRI Monday on his bothersome right ankle.
Royals: OF Terrance Gore, who was a pinch runner on the postseason roster, broke his jaw when he was hit by a pitch in a minor league game.
Left-hander Ross Detwiler, who will be in the Rangers rotation, threw 97 pitches in 6 1-3 innings in a minor league intrasquad game, allowing two earned runs on eight hits and a walk.
Royals: RHP Jeremy Guthrie starts Tuesday against the Padres.
Rangers: LHP Derek Holland will face the Cubs at Surprise. In a split squad, Martinez will start against the Diamondbacks in Scottsdale.