Weaver (19-4) became the American League's first 19-game winner, surrendering five hits with a walk and four strikeouts as the Angels completed a three-game sweep.
Kendrys Morales keyed a four-run sixth inning with a two-run homer and Albert Pujols began the uprising with a two-run double for Los Angeles, which remained 2 1/2 games behind Oakland for the final AL wild card spot.
Chicago's Gavin Floyd (10-11) took the loss, allowing four runs on seven hits over six innings.
Dayan Viciedo provided the only RBI for the American League Central-leading Chisox, who finished the game with a half-game advantage over the second-place Detroit Tigers.
Senate Democrats to pull all-nighter on climate change
Dennis Rodman pledges to end trips to North Korea