Pablo Cuevas came from a set down to outlast Rafael Nadal in a marathon match and clinch a spot in the final of the Rio Open.
After losing the opening set after a tie-break, the Uruguayan rallied to secure a 6-7 (6-8) 7-6 (7-3) 6-4 win in just under two and a half hours.
It was the longest match in the three-year history of the tournament as Cuevas booked a place in his first ever ATP 500 final.
The Uruguayan hit 11 aces - including one to seal the match - and managed to save 10 out of Nadal's 12 break point opportunities in the win over the former world number one.
Nadal's 21 unforced forehand errors cost him dearly as his bid for a 68th career title came to an abrupt end.
Cuevas will face Guido Pella in Sunday's decider after the Argentine eased through in straight-sets against Dominic Thiem in the other semi-final.
Pella needed just one hour, 13 minutes to get past the Austrian fifth seed 6-1 6-4 to move into his first ever ATP final.
The Argentine converted four break points and saved five of his own in the surprising victory and will meet Cuevas as he searches for a maiden title.