After Ferrer blitzed Federer in the second set, winning all but one game, the latter responded powerfully in the third, breaking his Spanish opponent twice to triumph 6-3 1-6 6-2 in one hour and 43 minutes on Sunday.
The Swiss veteran made it a perfect six titles from as many finals in Cincinnati, while he stretched his unbeaten record against Ferrer to 17 consecutive victories since they first met on the ATP World Tour in 2003.
Federer was thrilled with his victory at the ATP Masters 1000 event, having overcome three top-10 players - Andy Murray, Milos Raonic and Ferrer - to be crowned champion.
"It feels great," he said on court immediately after the victory.
"I really enjoy playing here. I've played some really good tennis here over the years, so it's really nice to come back and win it again.
"I thought the final was good. The whole tournament was really good for me. I've been beating top-10 [players] along the way and just enjoying myself out on court, playing some positive tennis, so it's really encouraging."
Federer claimed the first set after a pair of double faults from Ferrer saw the Swiss claim the only break of the set to lead 5-3.
Ferrer had to survive four break points in the opening game of the second set but held serve and then turned the momentum his way by breaking Federer.
Suddenly the world number six from Spain was on top and he won the next three games to lead 5-0, breaking Federer easily in the fourth game, and eventually claimed the set 6-1.
But Ferrer could not keep Federer down in the third set, as the world number three won four of the opening five games, before eventually closing out the set with a break to notch his third title of the year.