Daniil Medvedev hailed the best result of his career after pulling off a major shock by beating world number one Novak Djokovic in the quarter-finals of the Rolex Monte-Carlo Masters.

Djokovic looked like he had averted the danger against his young Russian opponent when he took the second set to level the match, but Medvedev opened up a 5-1 lead in the decider and went on to claim a 6-3 4-6 6-2 victory.

Since winning his 15th grand slam title at the Australian Open, Djokovic has been well below his best and suffered early losses in Indian Wells and Miami prior to his opening clay tournament of the season this week.

The result represents a breakthrough on the surface for 23-year-old Medvedev, who will play Djokovic's fellow Serbian Dusan Lajovic in his first Masters semi-final today after Lajovic beat qualifier Lorenzo Sonego 6-4 7-5.

"It's definitely the best match of my career," Medvedev said.

"Not in terms of level of tennis, but definitely by the result.

"(It's my) first Masters 1000 semi-final, beating number one for the first time in my life - just amazing."

Djokovic added: "A windy day like today, conditions are changing every single game.

"It's kind of tough to find the rhythm, and he doesn't give you much rhythm.

"He improved his movement a lot since last year. He definitely deserves to be where he is."

Rafael Nadal avoided a similar upset but was made to work hard for his 18th straight win in the tournament, the 11-time champion battling to a 7-6 (1) 6-3 victory over Guido Pella.

"Losing the first three games with my serve was tough," Nadal said. "But I found a way at the right time. I was lucky at 4-1, he had two points to be 5-1 and with 5-1 it's almost impossible.

"I was lucky to escape that moment and then I played better. I'm very happy to be through. Being in the semi-finals again here means a lot to me."

Nadal will face Italy's Fabio Fognini in the semi-finals after the 13th seed came from a set down to beat Borna Coric 1-6 6-3 6-2.