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.
The five home runs allowed were a season high for the Angels, who had to use six relievers following Lincecum's early exit.
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.
Angels: Hector Santiago (8-4, 4.32) will start for Los Angeles on Monday in the opener of a three-game series at Kansas City. Santiago has won a career-high four straight starts and has posted a 1.08 ERA in that span.
Astros: Dallas Keuchel (6-9, 4.70) is scheduled to start the opener of a three-game series against the Yankees on Monday. Keuchel has won a season-high three straight decisions and will face the Yankees for the second time this season after getting a win against them on opening day.