Trout launched his 20th homer of the season, a laser to left-center field off Sipp, to lead off the ninth and send the Astros to their fifth consecutive loss.
"He's one of the best players in the game for a reason," Astros manager Bo Porter said. "He went down and he got it. It's one of those things where you see the pitch and you see the swing and you say to yourself, 'There's not many players in our game that can do what he did to that pitch.'"
Sipp, who allowed a run for only the third time in his 24 outings, said he simply got beat with his best stuff.
"I'm not mad about that pitch," he said. "If you asked me if that was the location I wanted beforehand, I would have said, 'Yeah.' He's just a really good player and went down and got the pitch. It's one of those. What do you do?"
It was the second walk-off homer this season for Trout, who has hits in 34 of his last 38 games.
"The adrenaline rush you get when it goes out, it's something special," he said. "And just to help the team win, especially at home, with all the fans tonight, special night for everybody."
The Astros clubbed three home runs of of Angels starter C.J. Wilson, including a two-run shot by George Springer and a three-run blast by Jon Singleton in a five-run fourth inning to take a 6-3 lead, but the Angels clawed back and tied it in the seventh on a Howie Kendrick RBI double.
The Angels' bullpen bailed out Wilson by holding the Astros to one hit in 4 2/3 scoreless innings.
What set up as perhaps being a pitchers' duel between Keuchel and Wilson turned into a slugfest in which neither went beyond the fifth inning. Keuchel, making one final start to pad his All-Star resume, gave up a career-high 13 hits and allowed five runs in five innings.
"That was very disappointing on my part," he said. "The offense did more than enough and should have came out with a win. I just didn't do my part and didn't really make the necessary pitches to get out of some. I haven't been too good as of late. I have to go back to the drawing board and figure some stuff out and try to get ahead of some guys and make some quality pitches."
The damage against Keuchel could have been worse had the defense not bailed him out.
Rookie shortstop Enrique Hernandez (3-for-4) ran down a ball in center to end the first inning and strand the bases loaded, and he started a terrific double play in the hole to end the fifth. The Astros turned another key double play with the bases loaded in the third, an inning that ended with L.J. Hoes throwing out a runner at home to preserve a run.
"I can't say enough about those guys," Keuchel said. "Kiké made a couple of good plays. The defense has been there all year. That's been one our strong points. L.J. had the great throw there, too, in the outfield. I felt lucky to get out of there with five innings."
Wilson retired nine of the first 10 batters he faced, giving up a solo homer to Chris Carter in the second, before starting the fourth by allowing five consecutive hits, capped by Singleton's three-run blast to right field that put the Astros ahead 6-3.
Albert Pujols' 510th career homer -- 44th against the Astros -- got the Angels to within a run, 6-5, in the fourth inning.
"It was a battle for him pretty much the entire night," Porter said. "But Dallas battled and was able to give us five innings and left in position to win the ballgame."