Daniil Medvedev continued a stunning week at the Monte Carlo Masters by claiming the biggest win of his career in a three-set triumph over Novak Djokovic, which booked a semi-final berth.
The Russian came into this tournament having won 17 of his 23 matches this season, that run including a title success in Sofia, and defeated Joao Sousa, Radu Albot and Stefanos Tsitsipas to set up a quarter-final with Djokovic.
And he played with the confidence of a man in excellent form, taking advantage of a Djokovic performance in which he committed 47 unforced errors to prevail 6-3 4-6 6-2.
Djokovic has now failed to go beyond the last eight in three successive Masters 1000 events and looked below his best just over a month out from the French Open.
Medvedev will now face Dusan Lajovic in the semi-finals and will hope for the same fast start he made on Friday.
He broke Djokovic in the opening game and held on to that advantage as 21 of the world number one's unforced errors came in the opening set.
Under pressure throughout the opener, Djokovic saved three break points in the fifth game. However, Medvedev ensured he would not have to serve out the set by securing the double break to move within six games of victory.
Medvedev continued to go blow for blow with Djokovic from the baseline but his progress was stymied as he dropped serve in the third game of the second, which featured a terse exchange with the chair umpire after he was given a warning for kicking an advertising box.
An exquisite lob from Djokovic gave him an advantage he did not give up but it was his composure that slipped in the decider as he continued to struggle in the windy conditions.
Medvedev received treatment on his thighs throughout the third, but that did not stop him surging into a 5-1 lead as Djokovic faded badly, a lofted backhand long surrendering the double break.
And his first win over the 15-time grand slam champion was completed as he broke Djokovic for a third time in the set with a scorching cross-court backhand.