Weaver (3-4) scattered five hits over 6 2/3 innings, issuing two walks and striking out six in posting his third straight start of allowing one or fewer runs.
Dane De La Rosa recorded the final out in the seventh inning, Scott Downs tossed a perfect eighth and Ernesto Frieri struck out the side in the ninth for his 22nd save as Los Angeles improved to 10-2 in its last 12 games.
Mike Trout and Hank Conger each socked a solo homer and Mark Trumbo drove in a run with a sacrifice fly as the Angels took two-of-three games in its series against the Red Sox.
The loss was tagged on John Lackey (6-6), who gave up two runs on five hits in a seven-inning effort for American League East-leading Boston.
Campus cop fatally shoots Texas student during traffic stop
Police: Sword-wielding man demanded free tacos