Djokovic beat fourth seed Tomas Berdych 6-0, 5-7, 6-4 while Federer won against 18-year-old Borna Coric 6-2, 6-1 in 56 minutes on Friday.
For the 33-year-old Federer, it will be his ninth final; he's won the tournament six times. Djokovic is trying to win Dubai for the fifth time.
Between Djokovic and Federer they have claimed the Dubai trophy in 10 of the last 12 years dating back to 2003, with only Rafael Nadal in 2006 and Andy Roddick in 2008.
"When you play Roger, it's always a great challenge," said Djokovic about facing Federer.
"If you want to win you have to play your best tennis, especially against Roger in the final of any event, but here particularly.
"Because I feel like this is the kind of a surface and conditions that it suits his game the best," he added.
Federer holds a 19-17 career edge over Djokovic