It was the second consecutive Australia title for the Swiss superstar for a total of three Melbourne wins.
The top-seed beat 10th-seeded Gonzalez 7-6 (7-2), 6-4, 6-4 in 2 hours, 20 minutes at Rod Laver Arena.
Federer, 25, is now 10-0 overall and 3-0 in Grand Slam events against Gonzalez, the second Chilean to perform in a Grand Slam final.
Gonzalez, 26, had a pair of set points in the first set, but Federer canceled them out and went on to take the opening stanza in an easy tiebreak. Both players had their serve broken once in the first set, but the Chilean was unable to break Federer over the next two sets.
Federer had a 4-3 edge in the second set and never looked back. He claimed the stanza and broke Gonzalez for a 4-3 advantage in the final set en route to victory. Gonzalez staved off several game points in the seventh game of the third, but a determined Federer finally got his break and soon ended the competition.
Despite the loss, Gonzalez moved up to No. 5 in the world.
Scarlett Johansson steps out with fiance after pregnancy reveal
Senate Democrats to pull all-nighter on climate change