Novak Djokovic's very shaky season continued as he was beaten by the Belgian 10th seed 6-2 6-3 7-5. The Serbian has now been knocked out early in his last four tournaments.
David Goffin proved too good for a faltering Djokovic as the Belgian reached the Monte Carlo semifinals with a thrilling victory.
Former world number one Djokovic saved four match points but wilted on the fifth to allow Goffin to set up a last-four meeting with clay king Rafa Nadal, who hammered Argentine Diego Schwartzman 6-4 6-4.
Earlier, Spanish claycourt specialist Albert Ramos followed up his victory over world number one Andy Murray with a 6-2 6-7 (5) 6-2 defeat of Croatian fifth seed Marin Cilic.
France's Lucas Pouille meanwhile beat Uruguay's Pablo Cuevas 6-0 3-6 7-5.
In the first European claycourt tournament of the season, second seed Djokovic was overwhelmed in the opening set before hitting back in the second.
The third set was a tense affair. Djokovic was serving at 4-3 but Goffin won the game to love to roar back into contention.
In the 12th game, Goffin opened a 40-15 lead on Djokovic's serve but the 12-times grand slam champion saved four match points before netting a forehand to lose to the Belgian for the first time in six meetings.