British number one Kyle Edmund beat 12-time Grand Slam champion Novak Djokovic in three sets to reach the third round of the Madrid Open.
Edmund, 23, beat the 30-year-old Serb 6-3 2-6 6-3 in one hour, 40 minutes and is now set to reach the world’s top 20.
He will play David Goffin in the next round after the Belgian’s 7-5 6-3 win over Robin Haase of the Netherlands.
“Incredible to share the court with a legend and come away with the win!” said Edmund on Instagram.
He added: “It’s time to try and beat these guys and I was pleased how I managed my game.”
The pair traded breaks to begin the match before a double fault by Djokovic, currently ranked 12th in the world, handed Edmund the initiative.
The Briton closed out the first set but a scrappy second, with Edmund hitting 10 unforced errors to Djokovic’s three, allowed the former world number one to force a decider.
After breaking the two-time Madrid champion in the third, Edmund saved three break points before serving out the final set to progress.
“I have an aggressive game style and knew I had to impose that,” Edmund told ATP Radio.
“You are always trying to get momentum and win matches – the tour doesn’t always happen like that, you have got to be on it.”
Current world number one Rafael Nadal made short work of his second-round match with France’s Gael Monfils, with the Spaniard winning 6-3 6-1 to continue his bid for a sixth title in Spain.
Analysis – ‘a major scalp for Edmund’
BBC tennis correspondent Russell Fuller:
This was the first time in four meetings with Djokovic that Edmund was able to win a set, let alone the match. Impressive heavy serving when triple break point down midway through the decider was crucial, and he served out for victory nervelessly.
We are not watching peak Djokovic, but this was still a major scalp – taken amid the pressure of a deciding set where Edmund has often struggled over the past 18 months.
The win is likely to take him into the world’s top 20 but first a third-round match with David Goffin on Thursday.