Lorenzo Cain, batting for the first time after a hand injury, drew a walk off Santo Manzanillo in the Royals' seventh inning and scored on Max Ramirez's single to end a 2-2 tie.
Royals starter Luke Hochevar had control problems in his first start, walking three in his 1 2/3 innings, and two of those runners scored.
Logan Schafer's double off Hochevar scored Norichika Aoki, who opened the game with a walk. After Hochevar walked two batters in the second, he was relieved by Francisley Bueno, who yielded an RBI double to Blake Lalli.
Hochevar threw 38 pitches, 20 of them strikes.
"Just jumping back into live action, my body felt good, my arm felt good, I felt like everything was coming out clean," Hochevar said. "For the first one, you're just really feeling out how your body feels, and I felt good."
Brewers starter Chris Narveson, pitching for the first time since sustaining a torn rotator cuff last April, was also relieved in the second inning. He gave up a first-inning run after two outs on Eric Hosmer's single, Billy Butler's walk and Mike Moustakas' RBI single.
"I felt great. I didn't feel like I overdid it," Narveson said. "Sometimes I think when you come back you try to do too much, but I stayed within myself and just tried to pound the zone."
Narveson's pitch count was 30 with 19 strikes.
Bruce Chen, competing with Hochevar for the No. 5 spot in the Royals' rotation, threw two perfect innings.
The Royals tied the score, 2-2, against Josh Stinson with a run on singles by Alex Gordon and Hosmer.
Gordon, Hosmer and Moustakas each had two hits for the Royals. Schafer was 3-for-3 for the Brewers and is 5-for-11, .455.
Brewers up next: Milwaukee hosts the White Sox at 2:05 p.m. CT on Thursday at Maryvale Baseball Park. Right-hander Wily Peralta -- the club's top prospect, according to MLB.com -- makes his Cactus League debut after a successful September run with the Brewers in 2012.