Wilson (1-0) overcame four walks and five hits en route to his first victory of the season, striking out three.
Sean Burnett and Scott Downs teamed up for 1 2/3 scoreless frames of relief and Ernesto Frieri struck out four batters to record his second save as the Angels took the rubber match of a three-game series.
Hamilton supplied a first-inning RBI single and added a two-run homer in the eighth to ice the victory -- his second long ball in two days for Los Angeles.
Mike Trout also went deep for the Angels.
Astros starter Phil Humber (0-3) pitched well, surrendering a pair of runs on seven hits over seven full frames.
Matt Dominguez drove in Houston's only run.