The Swiss got through a perfect week without losing serve as he won his 76th career trophy and his 16th from 28 against Serb Djokovic.
Federer goes into the US Open as a clear title favourite after becoming the first man to win five trophies at the Cincinnati event.
Federer's success marked his 21st Masters 1000 trophy, pulling level with Rafael Nadal for the all-time best in that category.
"A great round of applause for Novak for a great effort," said Federer, now 56-7 on the season.
"I've had a magical summer (seventh Wimbledon title, London Olympic silver medal). I feel good about New York - but I'm going to savour this one for a bit." Federer said.
Federer, 31, was the oldest Cincinnati winner since Andre Agassi, aged 34, took the trophy in 2004.
Top seed Federer shot out of the blocks at the start, winning the opening set in a mere 23 minutes. The pace slowed in the second as Djokovic collected his wits and began to challenge, taking the set into a tiebreaker.
Federer earned a 3-0 lead in the decider, only to see his rival pull it back, 3-3.
The Swiss was unable to convert on a first match point, but promptly slammed down an overhead winner to save a Djokovic set point which would have prolonged the afternoon.
Federer finished the job on his second chance with a stinging forehand after 79 minutes.
"Even with how well I'm playing you never expect yourself to win these big matches. It's been a great week for me," said the 17-time Grand Slam champion.
Djokovic has now lost his last two meetings with Federer after he was beaten in a Wimbledon semi-final last month.
"Congratulations to Roger, he was the better player today. I got off to a slow start and could never catch up," said Djokovic.
"I didn't think I'd get this far this week after winning in Canada. So this is a great result for me. Hopefully it will point me towards a good US Open," said the New York defending champion.
Djokovic was playing in his 49th ATP final, now standing 31-18 in finals.
The tournament was the 16th consecutive Masters 1000 tournament that has been won by one of four players - Federer, Djokovic, Nadal or Andy Murray.
Federer will remain atop the ATP rankings through the US Open, adding another three weeks to his all-time total as he begins his record 292nd week in the top spot.
Djokovic's defeat ended his nine-match winning streak.
© Copyright AFP Agence France-Presse GmbH - All rights reserved. This material may not be published, broadcast, rewritten or distributed. All reproduction or redistribution is expressly forbidden without the prior written agreement of AFP.