Carlos Gomez extended his hitting streak to 17 games to help the Brewers improve to 5-1 on their seven-game trip.
Peralta (8-5) went 7 2-3 solid innings and allowed four runs, three earned. He gave up a two-run single to Justin Morneau in the first and then shut down the league's best offense until Corey Dickerson's two-run homer in the sixth.
Christian Friedrich (0-1) lasted six innings and surrendered nine runs, four earned, in his season debut. He was betrayed by his defense as the Rockies committed a season-high four errors.
Friedrich is the 11th starting pitcher the Rockies have used this season.
The 26-year-old lefty, who missed most of last season due to back inflammation, was 1-8 with a 7.89 ERA for Triple-A Colorado Springs before being recalled.
The Brewers' have scored 22 runs in the first two games of the series. Milwaukee scored four in the second inning on Saturday and four more in the third, which was more than enough for Peralta. The righty only got stronger as the game went along, still touching 97 mph before being pulled with two on and two out in the eighth.
Rob Wooten struck out Mike McKenry to end the threat.
Ramirez had his second straight three-hit day. His solo homer in the fifth was his ninth of the season. Mark Reynolds and Gomez also added two hits.
Gomez has reached base safely in 34 straight games, the fifth longest streak in franchise history.
Colorado's faulty fielding in the second opened the door for a big inning. Third baseman Josh Rutledge had two errors in the frame, and second baseman DJ LeMahieu had another trying to turn a double play.
Leading 5-2 in the third, the Brewers broke the game open on a strange play with the bases loaded as Friedrich's wild pitch paved the way for all the runners to score.
Friedrich sent a pitch past McKenry, who quickly tracked the ball down on the right side of the plate and tossed to Friedrich covering home. The ball sailed over Friedrich's head, allowing Ramirez to score from third and Reynolds from second as the ball rolled toward the Brewers dugout.
Jean Segura was on first when the play started, but when Friedrich walked toward the field after picking up the ball - and a shaken-up McKenry bent over - Segura hustled home.
NOTES: The game started 23 minutes late because of weather. ... RHP Kyle Lohse (8-2) takes the mound for the Brewers in the series finale. LHP Tyler Matzek (1-1) goes for Colorado. ... The Rockies selected the contract of reliever Wilton Lopez. The team optioned utility player Kyle Parker and reliever Chris Martin to Colorado Springs. ... The Rockies transferred outfielder Michael Cuddyer (fractured left shoulder) to the 60-day disabled list. ... Colorado OF Carlos Gonzalez (left index finger) said he hopes to have his stitches taken out next week.
(Copyright 2014 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.)