Defending champion Roger Federer suffered a surprise defeat by Frenchman Julien Benneteau at the World Indoor Tournament in Rotterdam.
The world number two had his serve broken five times as Benneteau won 6-3 7-5 to reach the semi-finals.
beaten Federer once before
led the Swiss by two sets at Wimbledon last year,
but lost in five.
avoided any such upset in the Brazil Open, beating Carlos Berlocq 3-6 6-4 6-4 to reach the semi-final.
The 26-year-old Spaniard will now play another Argentine, Martin Alund, for a chance to face either David Nalbandian or Simone Bolelli in Sunday's final.
"For me every victory is important," said Nadal. "It is the moment to have the necessary humility to fight in every match as I did today.
"It's the first match I win in three sets here. It helps me get better physically. It helps me regain my self-confidence,"
Federer's defeat means
Juan Martin del Potro
will now be the favourite in Rotterdam where he lost to the 31-year-old Swiss in the 2012 final.
The Argentine second seed saw off Finn Jarkko Nieminen 6-3 6-4.
"If you lose your serve five times, like I did today, you can't win indoors," said Federer.
"Julien played great, created more chances than I did and fully deserved to win. I fought back at the end of the second set and had chances to take it into a third but that would have been more luck than I deserved."
Del Potro next faces Grigor Dimitrov after the Bulgarian came from behind to defeat Cypriot Marcos Baghdatis 6-7 7-6 6-3, while Benneteau takes on compatriot Gilles Simon.