The world's leading two players were joined in the last four by Czech Tomas Berdych and Juan Martin Del Potro of Argentina.
Djokovic extended his winning streak to 16 matches as he routed Andreas Seppi 6-0 6-3 to set up a 10th meeting with Del Potro, whose thunderous serving helped him overwhelm German qualifier Daniel Brands 6-4 6-2.
Federer vanquished Russia's Nikolay Davydenko 6-2 6-2 and world number six Berdych swatted aside wildcard Dmitry Tursunov 6-3 6-2.
Federer and Djokovic, winners of eight of the past 10 Dubai finals between them, have topped the bill each night, while the lower seeds have played in the blistering afternoon heat and that could leave the top two in better condition for Friday's semi-finals.
Djokovic has a 7-2 winning record against Del Potro and has been victorious in their last three matches, but the Argentine did beat Djokovic to claim an Olympic bronze in London last year.
"Del Potro is a fantastic player, he's very powerful and has a great serve," Djokovic said. "He likes this court, plays very aggressive, so I'll have to be on top of my game."
The Serb had been lax in the closing stages of his second- round match and he began Thursday in a similar fashion, perhaps complacent due to a 9-0 winning record against Italian Seppi.
Djokovic's first serve was rarely on target in the opening game and a netted forehand left him facing a break point, but the 25-year-old escaped with a venomous serve and eventually held.
That scare seemed to refocus the Serb, who broke immediately by exposing Seppi's limitations - an erratic serve, short returns and a limp backhand.
The Italian won just 11 points in a first set whitewash and Djokovic broke decisively for a 3-1 second set lead as a flat-footed Seppi played a forehand that did not even trouble the tram lines.
Earlier, Del Potro was bullish after a relative stroll against the big-serving Brands.
"If I am ready and I'm very solid with my forehands and serve, it's going to be a very big chance for me," Del Potro said.
That confidence is a reflection of the former US Open champion's improving form in Dubai following a scare in the first round in which he saved three match points before beating Marcos Baghdatis. He has not lost his serve since.
Cheered on by pockets of Argentine support decked out in the blue and white stripes of the country's football team, he conceded just 10 points on serve against Brands in the volcanic afternoon heat.
Federer, 31, dismantled Davydenko to claim a 19th victory in 21 against the Russian.
The Swiss broke with ease, on the second occasion dragging the Russian out wide with an angled drive the despairing veteran could only arc long.
At the Delray Beach International top seed John Isner marched into the quarter-finals with a 7-6 6-2 win over Japan's Go Soeda.
Isner fired 15 aces and won over 90 per cent of points on his first serve to take the match in an hour and 15 minutes.
The towering American will meet another big-serving giant in South African defending champion Kevin Anderson, who was pushed harder by Taiwan's Yen-Hsun Lu in their 6-4 3-6 6-3 match.
Second-seeded German Tommy Haas had little trouble in beating Uzbek Denis Istomin 6-4 6-1 but third seed Sam Querrey was sent packing by Latvian Ernests Gulbis 6-4 4-6 7-6.
Haas, the 2006 champion, was also strong on serve and wrapped up the match in just 67 minutes.
"It's a little different with the cool weather and no wind today so it was very pleasant to play," Haas said.
"I had a lot of chances early on that I didn't take and frustrated me, but at 4-5 I broke him to win the first set and I think that mentally disturbed him a little bit."
American Querrey crashed out after taking a 4-0 lead in the deciding set, and racked up eight double-faults, including one when serving for the match.
Eighth seed Xavier Malisse of Belgium was also bundled out, losing his rain-interrupted match 7-6 3-6 6-3 to Spanish qualifier Daniel Munoz.
ATP Dubai results
1-Novak Djokovic (Serbia) beat 7-Andreas Seppi (Italy) 6-0 6-3
2-Roger Federer (Switzerland) beat Nikolay Davydenko (Russia) 6-2 6-2
3-Tomas Berdych (Czech Republic) beat Dmitry Tursunov (Russia) 6-3 6-2
4-Juan Martin Del Potro (Argentina) beat Daniel Brands (Germany) 6-4 6-2
Delray Beach International results
1-John Isner (U.S.) beat Go Soeda (Japan) 7-6(2) 6-2
6-Kevin Anderson (South Africa) beat Lu Yen-Hsun (Taiwan) 6-4 3-6 6-3
Ernests Gulbis (Latvia) beat 3-Sam Querrey (U.S.) 6-4 4-6 7-6(4)
Ivan Dodig (Croatia) beat Evgeny Donskoy (Russia) 6-3 7-5
2-Tommy Haas (Germany) beat Denis Istomin (Uzbekistan) 6-4 6-1
Ricardas Berankis (Lithuania) beat Jack Sock (U.S.) 3-6 6-4 6-1
Daniel Munoz (Spain) beat 8-Xavier Malisse (Belgium) 7-6(3) 3-6 6-3
Edouard Roger-Vasselin (France) beat Ivo Karlovic (Croatia) 6-4 7-5