Weaver (11-8) allowed five hits, issued one walk and struck out two.
Dane De La Rosa contributed a scoreless eighth inning and Ernesto Frieri wrapped up the victory with his 37th save as the Angels took the rubber match of a three-game series.
Dan Straily (10-8) was saddled with the loss, surrendering three runs (one earned) on seven hits over 6 2/3 innings for the American League West champion Athletics.
Jed Lowrie drove in Oakland's only run.
Scarlett Johansson steps out with fiance after pregnancy reveal
Jessica Simpson shares three-way kiss with friends in photo