David Goffin stunned Novak Djokovic to reach the semi-finals of the Monte Carlo Masters semi-finals, where he will meet defending champion Rafael Nadal.
Goffin came through 6-2 3-6 7-5 and will now take on Nadal as the fourth seed continues his bid for a record 10th title at the tournament.
In a breathtaking clash, the 10th-ranked Belgian star got over the line on his fifth match point, to send Djokovic out.
The Serb, who was playing his third clay match of the year following a lingering right elbow injury, suffered the first loss of his career to the in-form Goffin, having won all of their previous five meetings.
Nadal was given a stern test by Argentine Diego Schwartzman before prevailing under the lights, 6-4 6-4.
Spanish giant-killer Albert Ramos-Vinolas produced a second straight upset as the 15th seed beat Marin Cilic 6-2 6-7 (5-7) 6-2.
After dumping out world No 1 Andy Murray on Thursday, the diminutive Ramos-Vinolas returned to knock-out mode as he tamed Cilic to surge into the first Masters 1000 semi-final of his career.
He will face Lucas Pouille for a place in the Sunday's final after the Frenchman came from behind in the final set to overhaul Pablo Cuevas 6-0 3-6 7-5.
"I know Pouille, he's a young player coming very strong. It will be super difficult," Ramos-Vinolas said.
The surprise winner remains perplexed at the source of his top form, saying: "To be honest, I think I'm playing good. I'm competing very good. But I cannot tell you exactly what's happening.
"I played good tournaments in South America in February on clay. Here I'm playing really good, competing for all the points. I cannot really tell you what is happening."
For those on the move, we will have the Monte Carlo Masters semi-finals covered via our website skysports.com/tennis, our app for mobile devices and iPad, or follow our Twitter account @skysportstennis with the latest news, reports, live blogs and expert analysis along with live updates on Sky Sports News HQ.