The Angels have won consecutive games for the first time in 20 days.
Chicago tied the game with a four-run fourth that featured a two-run double from Dayan Viciedo and it was still a 5-5 contest when the Angels came up in the seventh.
Hank Conger opened the Los Angeles seventh by reaching on a fielding error committed by third baseman Conor Gillaspie and J.B. Shuck singled Conger to third one out later.
Trout's single brought on Conger to put the Angels in front and Shuck eventually scored on a passed ball.
Michael Kohn (1-0) worked the sixth inning in relief to pick up the win. Ernesto Frieri walked the leadoff batter in the Chicago ninth, but allowed no further base runners and claimed his sixth save.
Dylan Axelrod (0-3) gave up six runs on seven hits in six-plus innings to absorb the loss.
Albert Pujols doubled in two runs during a four-run third that gave the Angels the early lead.