Jose Altuve hit a three-run homer and
Matt Dominguez's grand slam powered a big fifth inning to give the Astros their fourth straight win, a 9-7 victory over the Angels.
Los Angeles finished with 12 hits, but Houston tagged Angels starter Jason Vargas (8-7) for nine hits and a season-high eight runs in 4 1-3 innings.
"This is one of the most unusual nights we've had in the last three weeks," Angels manager Mike Scioscia said. "We just didn't get it done on the mound."
The Astros trailed by 1 entering the fifth before Trevor Crowe singled in two runs to put Houston up 5-4.
"They were able to manufacture runs even though the balls weren't exactly driven," Vargas said. "They were able to capitalize and do what it takes to put some runs across the plate. There's really nothing else I could do about that."
Dominguez then hit his 20th homer off the wall in left field to extend the lead to 9-4.
Dallas Keuchel (6-9) yielded 10 hits and six runs, but tied his career high by striking out nine in 5 2-3 innings for his first win since July 27. Josh Fields struck out two in a scoreless ninth for his fifth save.
Mark Trumbo hit a two-run triple in the third and Chris Iannetta hit a solo homer in the fourth for Los Angeles, which dropped to 10-7 against Houston this season.
A pair of walks and a single by Erick Aybar loaded the bases for the Angels with no outs in the eighth inning. Trout's bases-loaded walk got Los Angeles within 9-7, but Trumbo grounded into a double play to limit the damage.
"On the offensive side we did a lot of good things and had a lot of opportunities," Scioscia said. "(Houston) got a couple double-play balls to get out of some jams and minimize some damage, and on our side we couldn't do the same."
In his first game back from the disabled list, Howie Kendrick singled with two outs in the third before Trout drew a walk. Trumbo's triple, which rolled up Tal's Hill in center field, scored both of them to make it 2-0.
Astros' right fielder L.J. Hoes singled in the bottom of the third before a one-out single by Brandon Barnes. Altuve launched his fifth homer into the Crawford Boxes in left field to give Houston a 3-2 lead.
Iannetta sent the first pitch of the fourth inning into the seats in left field to tie it at 3-all. Andrew Romine's RBI single with one out put Los Angeles up 4-3. He was thrown out trying to stretch the hit into a double.
Cody Clark got things going in the fifth with a single -- the first hit of his major league career. First base coach Dave Clark (no relation) greeted him with a hug when he reached as the player smiled sheepishly. Many of the Astros stood and cheered on the railing of the dugout while Altuve jumped in the air and pumped his fist to celebrate the milestone.
Barnes singled and Altuve loaded the bases with his one-out single. The single by Crowe put Houston on top 5-4 before Vargas plunked Brandon Laird to load the bases again and end the pitcher's night.
Dominguez greeted reliever Cory Rasmus by sending his first pitch to left field to push the lead to 9-4.
"He missed middle-in on a pitch he was trying to go hard away with and Dominguez hit it," Scioscia said. "You have to give him credit. He missed his location and it ended up being a big, obviously, momentum swing in the game."
Romine added an RBI single in the sixth and Aybar doubled in another run home to cut the lead to 9-6.
NOTES: Los Angeles right-hander Jered Weaver opposes Brett Oberholtzer when the series continues on Saturday. ... Kendrick, who had a hyperextended left knee, was back in the lineup for the first time since Aug. 5. He was activated from the disabled list on Tuesday. He was injured when he landed awkwardly trying to avoid a collision with a teammate. Scioscia said they'll try to "get him acclimated to playing" and slowly increase his work. He was replaced in the bottom of the eighth inning.