"So far, that's been my best one," said Peralta, who will open the season as Milwaukee's No. 3 starter. "[The Angels] had everyone in there today, so it felt good. My command was good."
Facing a lineup that included Mike Trout, Albert Pujols and Josh Hamilton, Peralta had help from center fielder Logan Schafer, who made a sensational leaping catch to rob Pujols of extra bases to end the third inning, and catcher Jonathan Lucroy, who threw out two would-be base-stealers in the fourth.
The Angels scored their only run against Peralta on Trout's RBI groundout in the fifth inning.
Angels left-hander Jason Vargas was charged with five earned runs on eight hits in 5 1/3 innings. He walked a batter and struck out four.
"I felt all right," Vargas said. "Left some pitches up early and they took advantage of them, but after the third inning, I felt pretty good."
Pujols played five quiet innings at first base -- his first appearance in the field this spring -- and went 0-for-2 at the plate. He was hit by a Peralta pitch in the first inning that deflected into plate umpire Seth Buckminster, who exited with a hand or arm injury. While Anthony Johnson changed into Buckminster's gear, the game proceeded with veteran Tim McClelland calling balls and strikes from a position behind the pitcher's mound.
"I felt good, just like I was expecting to be," Pujols said. "I didn't get any plays, but it was good to get out there and get my feet wet, moving around. No problem at all."
Sean Halton homered for the Brewers in the seventh to cap the scoring.
Up next for the Brewers: Center fielder Carlos Gomez, the only Brewers regular who didn't play against the Angels, should be back in the lineup when the Brewers travel to Scottsdale, Ariz., to face the Giants on Wednesday afternoon. Gomez, who signed a three-year contract extension last week, has been one of Milwaukee's most impressive spring hitters, with a .407 batting average and .543 on-base percentage in his first 12 games. Left-hander Chris Narveson gets the start against San Francisco's Ryan Vogelsong in a 3:05 p.m. CT game to be webcast via Brewers.com.