Millwood, a 37-year-old non-roster invitee, was aided by two ground-ball double plays to keep the Royals in check.
"That's my game," he said. "I was able to make a couple of good pitches, get the ground balls. I'm not ecstatic about tonight by any means, but I'm happy I was able to make the pitches when I needed to and keep us in the game."
Millwood was also pleased with how his arm felt after his outing.
"I could have stretched it out some more," he said. "It's always a good feeling to be able to come out and still feel I have something left."
Royals starter Aaron Crow breezed through his first three innings, allowing only a single to Ichiro Suzuki with two outs in the first inning and a walk to Vinnie Catricala in the third.
But Crow gave up another single to Ichiro, followed by a walk to Justin Smoak to start the fourth inning and left the game. Brandon Sisk came on and allowed a single to left field by Carlos Peguero to load the bases. Miguel Olivo followed with a sacrifice fly for the game's first run.
Michael Saunders drew a walk to reload the bases, and Catricala blooped a single to right for a 2-0 Mariners lead. Both runs were charged to Crow. A pair of flyouts ended the inning.
The Mariners increased their lead to 6-0 in the sixth. The big blow was a two-run double off the wall in left field by Saunders, who later scored on a single by Catricala.
Kansas City, which entered the game with a .296 team batting average, was limited to three hits through six innings. The Royals got on the scoreboard in the seventh when Jeff Francoeur hit a double down the right-field line and eventually scored on an error. Max Ramirez added an RBI single to make the score 6-2.
Jonathan Broxton, in his second Cactus outing for the Royals, whizzed through a perfect fifth inning in nine pitches, throwing eight strikes. He got two strikeouts and a bouncer to the mound.
"I thought Broxton was outstanding -- really eye-popping," said Royals manager Ned Yost. "Which was pretty impressive for his second time out."
Up next, Mariners:
Right-hander Erasmo Ramirez is scheduled to make his second Cactus League start, looking to continue his scoreless streak against San Francisco at 7:05 p.m. PT in Peoria. Ramirez, a 21-year-old in contention for a spot on the pitching staff, shut out the D-backs for three innings in his first outing, allowing two hits. The Mariners have added a "B" game vs. the White Sox at 10 a.m. Thursday in Glendale.
Up next, Royals:
Danny Duffy, who is working on a string of five consecutive strikeouts, will start against the Dodgers at 3:05 p.m. CT in Glendale. Duffy pitched two perfect innings against the Reds in his Cactus League debut, striking out the final five batters he faced.