The world No. 1 fought back to level the match after losing the first set, but was ultimately unable to overcome his Russian opponent and was defeated in 2 hours and 20 minutes.
Competing in his first clay court tournament of the season, Djokovic appeared to be on a collision course to face world No. 2 and defending champion Rafael Nadal in Sunday's final, but the Serb will now have to regroup ahead of the French Open in May.
Medvedev had lost each of his previous three encounters against Djokovic -- who has twice been crowned champion in Monte Carlo -- but on this occasion the 23-year-old Russian broke the world No. 1's serve five times to move into the final four.
"He's got a very solid backhand," Djokovic said of Medvedev. "He hits it very low and with depth.
"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.
"He improved his movement a lot since last year," said Djokovic. "He definitely deserves to be where he is."
Second seed Rafa Nadal was forced to work hard for his 18th straight match win at the Monte Carlo Country Club as he fought back to beat Argentina Guido Pella 7-6(1) 6-3.
The 11-times champion made a sluggish start and was one point away from 1-5 deficit in the opening set but recovered well to convert seven of his 13 break-point opportunities and advance after two hours and 20 minutes.
"It was a very tough first set physically and mentally, too. Losing the first three games with my serve was tough. But I found a way at the right time," world number two Nadal said.
"I was lucky at 4-1, he had two points to be 5-1 and with 5-1 it's almost impossible. Then I played better. Being in the semi-finals again here means a lot to me."
Nadal has now won 25 consecutive sets on Court Rainier III since dropping one in his opening match in 2017 to Briton Kyle Edmund.
Information from Reuters contributed to this article.