Iannetta also went deep in Friday's series opener, the second time this season the Angels' catcher homered in consecutive games.
Howie Kendrick and Kole Calhoun laced back-to-back RBI doubles in the fourth inning, and Iannetta followed with an RBI single for a 4-0 lead and his third RBI of the series.
Houston first baseman Brett Wallace cut that lead in half with a two-run homer in the bottom of the inning. It was only the second hit off Weaver (10-8) and first since a first-inning single by Jose Altuve.
"It wasn't necessarily a bad pitch," Weaver said. "I probably could have gotten it in a little bit more, but going into it, we felt that fastballs in, four-seamers would be good on his hands.
"Sometimes you've got to tip your cap. He hit a pretty good pitcher's pitch and put it in the stands."
Weaver worked out of a bases-loaded jam in the fifth inning by striking out Trevor Crowe to end the frame. It was Houston's 1,388th strikeout of the season, breaking the American League single-season strikeout record set last year by the A's. The Astros finished the night with nine in the game and 1,393 on the season.
Weaver set a milestone of his own with his 1,234th strikeout -- and fifth of the game -- to end the sixth inning. He passes Frank Tanana for fourth all-time in Angels' history. Only Nolan Ryan, Chuck Finley and Mike Witt are ahead of him.
"It's cool, but overall, my main goal is to win a championship," Weaver said. "So all the personal accolades are great, but at the same time, I'm more of a guy that wants to win a championship."
Weaver received defensive help a play earlier, when third baseman Andrew Romine turned and raced toward shallow left field to make a diving snag on a Carlos Corporan blooper.
"I had no idea off the bat," Romine said. "As I got out there, I only took one last look at it. And that's when I caught it out of the corner of my eye. I just kind of threw my glove out there and it ended up going in.
"We surprise ourselves sometimes. We don't expect to catch all those bloopers, but every once in a while, you get caught off-guard and get a surprise catch like that."
Weaver showed no ill effects from minor soreness in his right forearm that forced him from his last outing, a six-inning stint in Minnesota. He threw 89 pitches in that game, but 108 in this one, yielding two runs on six hits and a walk. He recorded double-digit wins for the eighth time in as many big league seasons.
"I've been pretty fortunate to play on some good teams early in my career and had some great teams over the past two or three years," Weaver said. "A lot of guys have had my back.
"I'm not a guy that really reflects on personal stuff. But it's a cool milestone. And it's cool to be mentioned with Finley. He had some pretty good years here."
Angels manager Mike Scioscia wasn't quite so modest in reflecting on the achievement.
"It speaks volumes to the quality of pitcher that Weave is," Scioscia said. "He's one of the top pitchers in our league, and even when he doesn't have his best stuff, he's given us chances to win."
Praise also came from the other dugout.
"He's got five pitches, he'll throw them in any count, he can plus and minus a fastball," Astros manager Bo Porter said. "He's a guy that you definitely don't want to expand your zone [against]. He's a guy that can throw some breaking stuff, even when he's behind in the count. He has a lot of confidence in all his pitches."