Jonathan Lucroy had the key hit, slugging a 99-mph fastball from Kansas City starter Yordano Ventura to the center-field-wall for a double to score a pair of runs in the third and give the Brewers a 3-0 lead.
Logan Schafer went 3-for-4 with a walk, two RBIs and a run scored. He walked in the third and scored on Lucroy's double, and hit a two-run single in the eighth.
The Royals avoided the shutout as Ramon Hernandez delivered an RBI double with one out in the ninth off reliever Francisco Rodriguez. Whit Merrifield scored after leading off with a double. Hernandez scored on Justin Maxwell's two-out single.
Ventura and Jeremy Guthrie each pitched three innings. Ventura needed 74 pitches to get through his outing, giving up three runs on four hits and two walks while striking out five.
"He struggled with command, he fought his command all day long," Royals manager Ned Yost said. "With older pitchers you have days when you really have your good stuff and days when you battle through without your good stuff. Well, he's always going to have his good stuff. His battle days are going to be with command and it was like that today."
Ventura is scheduled to start Thursday's game at Detroit.
Guthrie pitched four innings against mostly Brewers reserves or players who will start the season in the Minor Leagues. The right-hander allowed three runs, including a solo home run to Michael Ratterree in the seventh.
Ratterree, a 10th-round choice in the 2013 First-Year Player Draft from Rice, was the Pioneer League's Most Valuable Player in 2013. The 23-year-old outfielder hit .314 with 22 home runs and 58 RBIs in 65 games.
Up next: The Royals, after finishing their 30-game Spring Training schedule with a 12-16-2 record, turn to more serious matters as they travel to Detroit. They'll work out at Comerica Park at 10 a.m. CT on Sunday, then charge into Opening Day against the Tigers at 12:08 p.m. on Monday. It'll be James Shields starting for the Royals against Justin Verlander.
Joe DiGiovanni is a contributor to MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.