Djokovic found himself 5-1 down in the second, saving three set points at 5-2 before breaking to keep himself in it.
Flicking over two beautiful acute-angled forehands to hold in the ninth, the world number four looked to be in the mood for a fight but could not keep up as Kohlschreiber ran him around the court and took the set with a big unreturnable serve.
The pair traded breaks at the start of the third with Kohlschreiber pulling off some eye-catching shots like the volleyed lob that had Djokovic scampering back in horror.
Sensing nothing was going his way, the 2008 Australian Open champion looked skywards in mock celebration after holding for 3-2. Kohlschreiber made the breakthough in the ninth game before serving out the match.
Kohlschreiber, who had never progressed beyond the second round at Roland Garros until this year, will next face 16th seed Tommy Robredo, after the Spaniard beat Maximo Gonzalez of Argentina 4-6 7-5 6-1 6-0.
Djokovic's defeat has removed a big obstacle from Roger Federer 's path as he seeks to reach his fourth successive final.
French Open Time Match schedule Today Match
10:00 Gonzalez F. v Hanescu V.
12:00 Murray A. v Cilic M.
14:00 Nadal R. v Soderling R.
10:00 Gonzalez F. v Hanescu V.
12:00 Murray A. v Cilic M.
14:00 Nadal R. v Soderling R.