Weaver (10-8) surrendered two runs on six hits, issuing one walk while striking out five as the Angels bounced back from a 9-7 loss in Friday's three-game series opener.
Iannetta's solo blast put Los Angeles ahead to stay and the catcher added a run-scoring single during a three-run fourth inning that iced the contest.
Houston's Brett Oberholtzer (4-3) was touched for four runs on six hits over six innings.
Brett Wallace bashed a two-run homer for the Astros.
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'