The Brewers led, 1-0, heading into the sixth before the Padres finally got on the board. Everth Cabrera reached on an infield error, scoring Jeudy Valdez, before Cabrera came around to score on a single by Yasmani Grandal.
But Milwaukee bounced back with five in the next half-inning, fueled by a two-run homer by Taylor Green and a double to right field by Wily Peralta that plated three runs and gave the Brewers a 6-2 lead.
Narveson got out of jams after giving up leadoff doubles in both the first and second innings, using a double play in the first before registering two strikeouts in the second.
"There's different emotions and different aspects when you have guys in scoring position," Narveson said. "It's not the same sequences. With nobody on, you're not gonna try the same stuff. So it's definitely a good challenge for yourself."
The left-hander exited after facing three batters in the fourth, and finished with two hits and three walks allowed in 3 2/3 innings of work. He has now allowed just one earned run in 9 1/3 innings this spring.
San Diego's Dustin Moseley, likely to be the Padres' fifth starter this summer, allowed just a fourth-inning run, tossing four innings and striking out two while scattering four hits.
"Another good day of work," said Moseley, who lowered his Cactus League ERA to 3.00. "I was throwing strikes, attacking the [strike] zone. The command of the fastball was average compared to the last time out. But the changeup was good. It had good action, and I got some swings and misses on it."
The sixth inning damage was charged to Micah Owings, who threw 1 2/3 innings, and gave up five runs on four hits and one walk.
The Padres added a pair in the eighth, but didn't threaten the Brewers any further.
Up next: The Brewers have a split-squad afternoon on Friday, sending one group to Tucson, Ariz., to face the Mariners at 3:05 p.m. CT and another to Surprise, Ariz., to play the Royals at the same time. Manager Ron Roenicke said he won't send any of the regular position players to Tucson, where Marco Estrada will start against Felix Hernandez. Yovani Gallardo will start for Milwaukee against Kansas City.