MILWAUKEE (AP) -- Although Jered Weaver didn't have his best stuff, he was just sharp enough to make key pitches when he needed.
Weaver tossed six scoreless innings and Grant Green hit a three-run double that led the Los Angeles Angels to a 5-0 victory over the Milwaukee Brewers on Friday night.
''Weaver wasn't quite as crisp, but that just shows how creative he can get, just changing speeds and moving the ball around to get through six innings,'' Angels manager Mike Scioscia said.
Weaver (9-7) allowed just three singles, striking out three and walking three. He escaped a bases-loaded, one-out jam in the fourth, and the Brewers stranded 13 runners overall.
''He was on. I've seen him a lot better, but he was on,'' Brewers manager Ron Roenicke said. ''The guy knows how to pitch. He knows how to get hitters out. He knows how to change speeds. He's one of the best competitors that I've seen out on the mound.''
The Angels made their first trip to Miller Park since April 2007, when they played the Indians in a game moved due to heavy snow in Cleveland. This was the Angels' first appearance against the Brewers at Miller Park since sweeping a three-game series in June 2002.
Wily Peralta (8-14) allowed three runs on four hits in six innings, taking his fifth loss in his last six decisions. His 14 losses tied him with Chicago's Edwin Jackson for most in the N.L.
''It's tough because you have to keep the game on the line,'' Peralta said. ''It's one of those kind days. I just tried to put zeroes on the board. I just gave up a homer early and left a couple men on and they scored. When you face pitchers like Weaver, it's tough.''
Kole Calhoun hit a solo home run in the fourth, his fifth. Green's bases-loaded double down the left-field line keyed a four-run seventh that broke open the game.
Calhoun drew a leadoff walk and Mark Trumbo singled, chasing Peralta. Reliever Ron Wooten struck out Hank Conger, but Luis Jimenez singled to bring up Green.
Green doubled just inside the bag at third and J.B. Shuck followed with an RBI single.
''He's really working hard on his defense but to come and find a hole with bases loaded is a big hit and broke the game open for us,'' Scioscia said.
The Brewers loaded the bases with one out in the fourth, sandwiching singles by Aramis Ramirez and Scooter Gennett around Carlos Gomez being hit by a pitch.
But Martin Maldonado, who entered the game hitting .174, popped out on a 3-0 pitch and Peralta flied out.
''I definitely wasn't expecting (Maldonado) to be swinging 3-0,'' Weaver said. ''Some things went our way. I just wanted to throw it down the middle just to get back in the count, and I was able to get him to pop it up. So that was nice.''
Milwaukee also loaded the bases with two outs in the seventh against Michael Kahn on a single and two walks, but Gomez lined to second.
''You still have to keep us in the game and Wily did that tonight,'' Roenicke said. ''We didn't do much off Weaver. We had three hits off him. We had some chances, but we didn't get that big hit when we needed it.''
NOTES: Angels OF Josh Hamilton didn't play. ''(Hamilton's) shoulder is a little sore so we are going to give him today,'' Scioscia said before the game. ... Roenicke said a change of scenery might benefit reliever John Axford, who was dealt earlier Friday to St. Louis. ''I think probably a new atmosphere going with a team that should get into the playoffs, should be a great opportunity and place for him to go and get it back together again.'' ... Green Bay Packers tight end Jermichael Finley threw out the first pitch, with the rest of the Packers' tight ends taking up infield positions. Finley's low, hard throw out of an exaggerated windup skipped past the catcher. . Mike Trout drew his 80th walk, tops in the American League. . Weaver mishandled Khris Davis' one-hopper back to the mound in the sixth inning for his first error since Aug. 28, 2011.