The second-seeded Serb beat eighth-seeded Milos Raonic of Canada 7-5, 7-6 (5), 6-4 on Tuesday at Court Philippe Chatrier, the main stadium at Roland Garros.
Djokovic is a six-time major champion, but he still needs to win the French Open to complete a career Grand Slam.
He reached the semifinals at Roland Garros the last four years, but made only one final, losing to Rafael Nadal in 2012. He also made semifinal appearances in 2007 and '08.
Also advancing was Ernests Gulbis, who booked a ticket to his first Grand Slam semifinal by beating sixth-seeded Tomas Berdych 6-3, 6-2, 6-4.
The 18th-seeded Latvian, who beat Roger Federer in the previous round, has been playing some of the best tennis of his career at Roland Garros.
Gulbis is competing at his 27th major tournament, but this is only the third time he has advanced past the third round. He reached the quarterfinals at the French Open in 2008, but lost to Djokovic.
The Associated Press contributed to this report.