The streaking Djokovic saved eight break points and earned a 6-2, 3-6, 6-4 victory over Fish to capture his ninth title of the season and 27th of his career.
It took nearly 2 1/2 hours, but Djokovic extended his record to 55-1 in his last 56 matches -- including 53-1 this season -- and remained undefeated on hardcourts this season (29-0).
He is the first player in history to win five ATP World Tour Masters 1000 titles in the same season.
Djokovic, who also titled in Montreal in 2007, earned $450,000 for winning the U.S. Open series event for a second time. Fish took home $224,000 for making his 20th career singles final.
Fish was seeking his second win of the season after successfully defending his title in Atlanta last month.
Djokovic also won the ATP World Tour Masters events in Indian Wells, Miami, Madrid and Rome. He improved to 7-0 lifetime against Fish.