Albert Ramos-Vinolas continued his impressive run at the Monte-Carlo Masters by upsetting Marin Cilic and will now face Lucas Pouille in his first ATP 1000 semi-final appearance.
Ramos-Vinolas eliminated world number one Andy Murray on Thursday and caused another shock by toppling fifth seed Cilic 6-2 6-7 (5-7) 6-2.
He will vie with Pouille for a spot in the final, the Frenchman having to dig deep to see off the combative Pablo Cuevas 6-0 3-6 7-5.
After comfortably winning the first set, Ramos-Vinolas was unable to capitalise on the 5-3 advantage he held in a second-set tie-break as Cilic won four successive points to force a decider.
The Spaniard then dropped serve in the first game of set three, but broke back at the fifth attempt in game four and duly reeled off the next four games to seal his win.
Pouille, 23, will be hoping to overcome Ramos-Vinolas and reach his first final at this level. He secured a bagel in the first set but was then pegged back as Cuevas took their match the distance.
A quarter-finalist at Wimbledon and the US Open last year, Pouille let an early lead slip in the decider and was staring at defeat when Cuevas moved 5-3 up.
The Uruguayan could not serve out the match, however, and was then broken for a second time to hand Pouille victory.
Rafael Nadal and Novak Djokovic are in the other half of the draw in Monaco.