Weaver (5-5) allowed a first-inning single to Doug Bernier and then retired 21 of the next 22 batters before Aaron Hicks collected Minnesota's only other hit in the eighth.
The right-hander issued one walk and struck out nine, tossing 76-of-114 pitches for strikes.
Ernesto Frieri finished up with his 25th save as Los Angeles avoided a three-game sweep.
Albert Pujols provided the game's only run with a first-inning RBI single.
Twins starter Mike Pelfrey (4-8) absorbed the hard-luck loss, surrendering just the one run on five hits over six frames. He walked one and struck out five.
Beautician charged with giving client fatal silicone butt injection
McPhee, Cokas 'working on their marriage' after affair