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.
Video of Victoria’s Secret models trying to 'twerk' hits Instagram
Megyn Kelly: Santa Claus and Jesus are both white men