World number two Rafael Nadal recovered from a set down to repeat his 2005 French Open semi-final defeat of Roger Federer and win the Dubai Open title.
Nadal has now beaten Federer three times in four meetings
Federer looked to be the one tasting success after breaking Nadal twice in winning the first set.
But the 19-year-old hit back against the world number one, gaining crucial breaks in the ninth game of each set to close out a 2-6 6-4 6-4 victory.
The win, in just under two hours, brought Nadal's 13th career title.
The Spaniard, playing in only his fifth match since returning from a long-term foot injury, appeared to be heading for a speedy defeat after a one-sided opening set.
Federer was in unstoppable form, dropping just six points on his serve as a mix of backcourt winners and volleys at the net saw him ease to a one-set lead.
However, from a game and 0-30 down in the second, Nadal finally found his form, firing a string of winners to break the Swiss to love at 5-4 before serving out to level the tie.
The pair exchanged breaks at the start of the third set but, with Federer wilting, Nadal once again broke when it counted most to help him to his third win in four matches against the 26-year-old.
An emotional Nadal said: "To beat Roger is special, I am so happy.
"I was crying a little bit but that was because it has been difficult in the last three months. This comeback is special for me."
But he modestly ruled himself out of the running to supersede Federer at the top of the rankings.
"No way! I don't have a chance. For me he's unbelievable. I will continue with my comeback and I am just happy with that."
But Federer, whose defeat ended a 56-match unbeaten streak on hard courts, predicted a long rivalry between the pair.
"We knew I would be the aggressive player and he would be the consistent player," he said.
"I made some mistakes but I am still pleased with my game, it's just that Rafa was better on the day. It was a great effort by him and I think we are going to have a fantastic rivalry."