HOUSTON -- The Los Angeles Angels finally showed off their high-powered offense to win their first game of the season.
After being swept in a three-game series against Seattle to begin the season and scoring just eight runs over the three games, the Angels equaled that in the first six innings Friday.
"I think with a game like this, hopefully, we build confidence," Angels manager Mike Scioscia said. "Hopefully, on the offensive side we build confidence."
Trout hit a solo homer in the first inning and Hamilton hit a three-run drive in the sixth off Jerome Williams that made it 8-1. After Erick Aybar's RBI single, Calhoun added a two-run shot off Williams in the seventh.
"As competitors, five out of eight games, we are capable of doing something like that," Hamilton said. "The talent is there. We don't go out and try to do that every day. We go out and have the at bats we are going to have. That's contagious. That's the mentality we have."
Trout also threw out Marc Krauss at the plate in the second inning to keep the Astros off the scoreboard.
Garrett Richards (1-0) allowed one run on three hits with five walks and seven strikeouts in five innings.
"It's not just me, it's all of us," Trout said. "It just happens that I got a home run, but look at Josh tonight. . We just have to keep pushing together, and we pitched well tonight with Garrett getting out of some battles and jams."
Lucas Harrell (0-1) was roughed up for five runs on seven hits with three walks and three strikeouts in three innings.
"With a lineup like that, they have so many good hitters you can't leave the ball over the plate like that," Harrell said. "You go from one hitter to the next, and there is no let-up. That's why they are so good. You have to execute your pitches every time. I just left it over the plate too many times."
Jose Altuve had two hits and a bases-loaded walk in the fifth inning.
The Astros loaded the bases in the fifth and sixth innings but were only able to get the one run as Richards struck out Krauss to end the fifth and Fernando Salas struck out Marwin Gonzalez and induced an Alex Presley ground out to end the sixth.
Astros outfielder Dexter Fowler was out of the lineup and not at the park because of a stomach illness. Fowler was in the hospital with the stomach issue and having tests run, Porter said after the game, and Porter said he would have more details Saturday. Through three games, Fowler is hitting .500 with a home run and three RBIs. He recorded his third consecutive multi-hit game Thursday night. ... Houston catcher Jason Castro was out with a bruise on his right foot but said he feels much better on Friday. Castro is day to day. ... Aybar picked up his 900th career hit with the single in the seventh. He became the third Angels shortstop to reach that mark joining Jim Fregosi and Gary DiSarcina. ... Houston will send left-hander Dallas Keuchel to the mound against Los Angeles left-hander Tyler Skaggs in the second game of the four-game series.