World number 72 Marco Cecchinato became the first Italian man in 40 years to reach a Grand Slam semi-final on Tuesday with a breathtaking 6-3, 7-6 (7/4), 1-6, 7-6 (13/11) victory over 12-time major winner Novak Djokovic.
Cecchinato, who had never won a Grand Slam match in his career before Roland Garros, goes on to face Austrian seventh seed Dominic Thiem for a place in Sunday's final.
In an epic fourth set tiebreaker, Djokovic saved three match points but wasted three set points as Cecchinato became the lowest-ranked man in the semi-finals in Paris since 100th-ranked Andrei Medvedev in 1999.
In a roller-coaster of a quarter-final, both men were warned for coaching, 2016 champion Djokovic required two medical timeouts while the Italian was docked a point for unsportsmanlike behaviour.
Djokovic had also squandered three set points in the second set and failed to serve out the fourth in the ninth game after being 5-2 in front.
In an extraordinary post-match press conference, Djokovic then said he may even skip Wimbledon where he has been champion three times.
"I don't know if I am going to play on grass," said the Serb.
Cecchinato said he was stunned by his triumph, coming just two years after his career was almost derailed when he became embroiled in match fixing allegations.
"Maybe I'm sleeping. It's amazing, it's unbelievable for me. I'm very happy because it's unbelievable to beat Novak Djokovic in a quarter-final at Roland Garros. It's amazing," said the 25-year-old who is the first Italian to get this far at a Slam since Corrado Barazzutti at Roland Garros in 1978.
"I was two breaks down on the tie-breaker and I had two or three match points and then on the fourth one I was very tired."
Djokovic saluted Cecchinato who he warmly embraced at the net.
"He played amazing, so congratulations for a great performance," he said.
"I struggled at the beginning and also had a little injury at the beginning. After then I warmed up and it was better, but yeah, just a pity that I couldn't capitalize on some break points at 4-1 in the fourth set."
Djokovic, bidding to reach a 32nd Grand Slam semi-final, hit just three winners in the first set.
The 31-year-old also needed a medical timeout to treat a neck injury which looked as if it would derail him when he slipped 0-2 down in the second set to the Italian outsider.
However, Djokovic leveled at 2-2 and then survived two break points -- and a 30-stroke rally -- in the seventh game.
In a tense encounter, both men were slapped with code violations for coaching before Cecchinato gallantly saved three set points.
He made Djokovic pay for that failure to convert when he reeled off four successive points in the ensuing tiebreaker.
In a topsy turvy afternoon on Court Suzanne Lenglen, Djokovic raced through the third set in just 27 minutes before requiring further medical attention, this time for a right leg injury.
While that was happening, Cecchinato was docked a penalty point for unsportsmanlike conduct after a lengthy argument with the umpire and supervisor for leaving the court without permission.
Djokovic sprinted out to 5-2 but was reeled back in to 5-5, having squandered three points for a double break in the sixth game.
In a nail-biting tiebreaker, Djokovic saved the first match point with a no-look backhand volley before throwing away his third set point with a ballooned forehand with the court at his mercy.
Thiem routs stricken Zverev
Thiem reached his third successive French Open semi-final with a 6-4, 6-2, 6-1 demolition of a hobbled and exhausted Alexander Zverev who admitted he was close to quitting the tie.
German second seed Zverev simply ran out of gas, paying a heavy price for needing three successive five-set matches to reach his first Grand Slam quarter-final.
His Roland Garros marathon also left him physically drained -- he needed his left thigh strapped in the second set.
"He is one of the fittest guys on the tour so it was difficult for him today," said Thiem, the only man to have defeated 10-time French Open champion Rafael Nadal on clay this year.
"I hope we have many more matches at the Grand Slams but when we are 100 percent."
The statistics made bleak reading for Zverev -- he finished with 42 unforced errors and just 19 winners.
Zverev said he will undergo an MRI to discover the seriousness of his injury.
He admitted he was also close to quitting at 1-5 down in the second set.
"I definitely thought about it, but I didn't want to pull out for the first time of my career in a Grand Slam quarter-final," said Zverev.
"I knew I'm not going to win the match. There was no way for me. I could barely move. I couldn't serve. I couldn't really do anything.
"But I still wanted to finish the match and give the credit to Dominic. He deserves to be in the semi-finals."