In the afternoon session, the sixth-seeded Fish needed just over 76 minutes to beat Serbian Janko Tipsarevic 6-3, 6-4.
Tipsarevic pocketed $114,825 as a semifinalist, unable to overcome six Fish aces.
Fish, after making his 20th career singles final, will be seeking his second win of the season after successfully defending his title in Atlanta last month. He will be chasing his seventh career win.
The Serb is a perfect 27-0 on hardcourts this year. He has already captured eight titles this season, including the Australian Open and Wimbledon. Djokovic will try to become the first player in history to win five ATP World Tour Masters 1000 titles in the same season on Sunday.
Djokovic captured this Canadian Masters tournament in Montreal back in 2007.
Tsonga was trying to become the first Frenchman to reach the final in this tournament since Richard Gasquet in 2006.
Djokovic is 6-0 lifetime against Fish.
The champion this week will earn $450,000 and the runner-up $224,000.