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.
Puzzle-maker slips 'Murdoch Is Evil' into Rupert Murdoch's Sunday Telegraph
Police: Sword-wielding man demanded free tacos