Luis Valbuena, Preston Tucker and Evan Gattis also homered for the Astros, who extended their winning streak against the Angels to 11 games.
There were runners at first and second with no outs in the first when Altuve connected off Tim Lincecum (2-4) on a home run to left-center field to make it 3-0. Valbuena's home run came with one out in the inning to push the lead to 4-0.
George Springer hit a two-run single with no outs in the second inning before scoring on Altuve's second homer with one out to make it 8-0.
Houston starter Mike Fiers (7-6) allowed nine hits and three runs in seven innings for the win.
Tucker had a solo shot in Houston's three-run fifth inning. Gattis, who had a pair of homers on Friday night, homered in the sixth to make it 13-1.
Lincecum lost his fourth decision in five starts by allowing seven hits and a season-high eight runs in 1 1/3 innings in his shortest outing of the season. He'd great success against the Astros in his time with the Giants and entered the game 2-0 with a 0.34 ERA in four career starts at Minute Maid Park. He had a 16 1/3-inning scoreless streak here before Sunday when he allowed a season-high three homers.
Altuve, who added an RBI single in the fifth, extended his hitting streak to nine games and stretched his streak against the Angels to 18 games. His 17 homers are a career high and he leads the majors with a .360 average. He hadn't driven in more than four runs in a game before Sunday.
A sacrifice fly by Kole Calhoun gave the Angels a run in the third inning and Jett Bandy added a two-run homer in the seventh.
The five home runs allowed were a season high for the Angels, who had to use six relievers following Lincecum's early exit.
Carlos Correa added three hits and an RBI for the Astros on a day when everyone in the starting lineup except Colby Rasmus got a hit.
Angels: LHP Tyler Skaggs (shoulder tightness) will make his first major league appearance since July 31, 2014, when he is called up from Triple-A Salt Lake to start on Tuesday. Skaggs hasn't pitched in the majors since having Tommy John surgery in 2014.
Astros: 1B Marwin Gonzalez left the game in the fifth inning when he sprained left ankle running to first base. He is listed day to day. ... C Jason Castro was out of the lineup for the second straight game after being hit on the back of his right hand on a foul tip in the ninth inning Friday. Manager A.J. Hinch said he was OK and should return soon.