The Tigers won their second in a row, with Anibal Sanchez (2-3) allowing two runs on five hits over 6 2/3 innings to get the win.
Fielder drove in Austin Jackson to give Detroit a 3-1 lead and the Blue Jays cut that deficit in half in the seventh on a sacrifice fly by Adeiny Hechavarria.
Toronto put the would-be tying run on base with two away in both the eighth and ninth innings, but could not come up with the key hit.
Jose Valverde worked the ninth for his 25th save of the year and the 100th of his career. He became the fifth player in franchise history to reach the 100 mark.
Aaron Laffey (3-5) took the loss, giving up three runs on five hits in six-plus innings. It was his third straight setback and the Blue Jays have lost seven of their last eight.