In his first clay-court match of the season, third seed and world No 5 Djokovic was beaten 6-3, 6-4 by Tabilo - a man who had held a underwhelming 3-9 record for 2025 until beating the Serbian.
The Chilean had previously beaten Djokovic in Rome, and is now one of just three men to have played multiple matches against Djokovic without tasting defeat.
Defeat for the 24-time Grand Slam champion extended a poor run in Monte Carlo, with Djokovic having failed to reach the final since winning the title for a second time in 2015.
It also means that the 37-year-old will lose 390 points after failing to match his semi-final run from 2024, putting his hopes of a top-four seeding at the French Open in jeopardy.
Djokovic came into Monte Carlo off the back of a good run at the Miami Open two weeks ago, having reached his first final of the season in Florida.
Many had backed the Serbian to triumph in Monte Carlo ahead of the tournament, though Djokovic admitted pre-event that a lingering eye infection was impacting his form.
And, in a damning assessment of his performance against Tabilo, the 37-year-old claimed that he had failed to meet his already low pre-tournament expectations.
"I expected myself at least to have put in a decent performance. Not like this. It was horrible," Djokovic said.
"I did not have high expectations. I knew I'm going to have a tough opponent and I knew I'm going to probably play pretty bad. But this bad, I didn't expect.
"I was hoping it was not going to happen, but it was quite a high probability I'm going to play this way. I don't know. [It was] just horrible.
"A horrible feeling to play this way, and just sorry for all the people that have to witness this."
Victory for Tabilo follows a battling three-set win over Stan Wawrinka in the opening round, and represents the first time he has recorded back-to-back wins this season.
"It's been a tough year," said Tabilo. "So the nerves were there a bit. I tried to remember what I did well last time.
"Thank God I served well today. It helped me a lot to regroup my game after that first game. It was an unreal match I think."
The Chilean, who has a career-high ranking of 19th, will next face 15th seed Grigor Dimitrov.
Bulgarian star Dimitrov battled from a set down to beat wildcard Valentin Vacherot 4-6, 6-3, 6-1 on Wednesday.