Third seed Tomas Berdych saved three match points before beating defending champion Roger Federer in the semi-finals of the Dubai championships on Friday to set up a final against Novak Djokovic.

Czech Berdych recorded his fifth win in eight matches over Federer, triumphing 3-6 7-6 6-4 while top seed Djokovic extended his winning streak to 17 matches by beating Juan Martin del Potro 6-3 7-6.

Djokovic and Federer have claimed eight of the past 10 Dubai titles between them and the 5,000 capacity crowd were urging the world's top two to win through under the floodlights.

Serb Djokovic obliged in the first semi but a tired Federer fell short, losing at the semi-finals stage of the tournament for the first time in eight appearances.

"I couldn't have a better feeling than this one, coming from court playing Roger almost in front of his home crowd," Berdych told reporters.

The Swiss went into the match with an 11-5 winning record against the world number six, although the Czech had been victorious in four of their past seven meetings, including at Wimbledon and the U.S. Open.

Federer broke in the first set when Berdych slugged a whipped forehand from mid-court into the net for a 5-3 lead. He sealed the set with a second set ace.

The Swiss surged from 5-2 down in the second, but then fluffed three match points in the tiebreak before Berdych forced a deciding set with a bludgeoned return winner.

In the final set, two miscued forehands and a double fault from Federer gave Berdych two break points at 2-2.

The Swiss saved the first with an ace, but skewed another forehand wide to fall 3-2 behind and Berdych served out the match.

"I leave this match with a lot of regrets," Federer told reporters. "The match was in my racket. You do all the right things for so long and then at the end you've got to explain why you didn't hit two shots decent."


Earlier, Djokovic came from 3-0 down in the second set against Del Potro to serve for the match at 5-4.

But he faltered as Del Potro - the only man outside of the men's 'big four' to win a grand slam tournament since 2005 - forced a tiebreak as his fellow Argentines in the stands raucously chanted his name.

Djokovic ultimately triumphed, a forehand winner from mid-court the only point in the tiebreak going against serve.

"His serve is very powerful, his forehand from the back of the court he can do anything with - I needed to stay in it when I was a break down," Djokovic said in a courtside interview.

The 25-year-old boasts a 12-1 winning record against Berdych and will expect to claim a fourth Dubai title in five years on Saturday, although the Czech, who seems stronger and more agile this season, could yet spring another surprise.

"I will have my homework for tonight to try to find out something that could work at least a little bit," said Berdych.

"He's one of the best moving players I've ever seen, especially on the hard court. This makes him very, very tough to play. I will try to be patient. Wait for my chances. The court is very fast, so it could help my strokes."