The Astros have won four in a row, two short of their longest such streak this season.
Altuve gave Houston the lead with a three-run homer in the third, but the Angels moved in front 4-3 in the fourth.
Dominguez then highlighted a six-run fifth with a grand slam home run and Houston held on from there.
Dallas Keuchel (6-9) gave up six runs on 10 hits in 5 2/3 innings, but still picked up the win. Josh Fields struck out two in the ninth on the way to his fifth save.
Jason Vargas (8-7) was roughed up for eight runs on nine hits in 4 1/3 to suffer the loss.
Selena Gomez drops F-bomb, walks off stage during Jingle Ball performance
Reindeer recovered after escaping from Santa during lighting ceremony