Fister (4-6) gave up a first-inning homer to Albert Pujols, and then shut down the Angels to win his third straight start. He struck out 10 and walked two before giving way to Joaquin Benoit in the ninth.
Brennan Boesch added a two-run double in the fifth.
The Tigers have won two out of three in the four-game series that will conclude Thursday.
Los Angeles, which will host American League West leader Texas during a weekend series, is 2-4 since the All-Star break.