Paris - World number 72 Marco Cecchinato said he had "amazed" himself by becoming the first Italian man in 40 years to reach a Grand Slam semi-final with a breathtaking 6-3, 7-6 (7/4), 1-6, 7-6 (13/11) French Open victory over 12-time major winner Novak Djokovic on Tuesday.
Cecchinato, who had never won a Grand Slam match before Roland Garros, faces 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 an extraordinary post-match press conference, Djokovic 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 downcast 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, three match points and then on the fourth one I was very tired."
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.
Djokovic saluted Cecchinato but admitted the match had been a struggle.
"I 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 capitalise on some break points at 4-1 in the fourth set."
Djokovic, who was playing on a 20th seeding - his lowest in over a decade after indifferent form and struggles with an elbow injury - has now not made the semi-final of a major since he finished runner-up at the 2016 US Open.
He had previously only been beaten by a player ranked lower than Cecchinato at the Slams on two occasions - Marat Safin at Wimbledon in 2008 when the Russian was at 78 and 117th-ranked Denis Istomin at last year's Australian Open.
Djokovic, bidding to reach a 32nd Grand Slam semi-final, hit just three winners in the first set.
The 31-year-old 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 levelled 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 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.
Djokovic sprinted out to 5-2 in the fourth but was reeled back in to 5-5.
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 reached his third successive French Open semi-final with a 6-4, 6-2, 6-1 demolition of an exhausted Alexander Zverev who admitted he was close to quitting.
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.
Zverev, who hit 42 unforced errors, 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.
Results from Roland Garros
Marco Cecchinato (ITA) bt Novak Djokovic (SRB x20) 6-3, 7-6 (7/4), 1-6, 7-6 (13/11)
Dominic Thiem (AUT x7) bt Alexander Zverev (GER x2) 6-4, 6-2, 6-1
Madison Keys (USA x13) bt Yulia Putintseva (KAZ) 7-6 (7/5), 6-4
Sloane Stephens (USA x10) bt Daria Kasatkina (RUS x14) 6-3, 6-1