The two-time Wimbledon semi-finalist won 6-7 (5) 6-2 7-6 (2) on Monday, while seventh seed Pierre-Hugues Herbert was a straight-sets victor in another French tussle, winning 6-2 7-5 against Jeremy Chardy.
Australia’s Bernard Tomic retired when trailing 6-4 4-1 against Canada’s Steven Diez, while Britain’s Cameron Norrie lost 6-1 6-3 to Frenchman Ugo Humbert.
American Steve Johnson won 6-2 7-6 (2) against lucky loser Lloyd Harris, compatriot Taylor Fritz beat Jiri Vesely 7-5 7-6 (3) and France’s Tristian Lamasine, who was also a lucky loser, defeated Italian qualifier Jannik Sinner 6-0 7-6 (5).
'We're not backing off' - Djokovic: Nadal, Federer and I can still beat younger stars
At the Geneva Open, world number 45 Radu Albot progressed to the second round after a 7-6 (6) 7-6 (3) win over Italy’s Lorenzo Sonego.
Matthew Ebden and Andreas Seppi, seventh and eight seeds in Switzerland respectively, were knocked out by Chile’s Nicolas Jarry and Bolivian Hugo Dellien, while Japan’s Taro Daniel beat Spaniard Bernabe Zapata Miralles.
Wild card Janko Tipsarevic won in straight sets against German Peter Gojowczyk and Denis Kudla bea Australia’s Jordan Thompson to reach the second round.
In qualifying for the French Open, Germany’s Dustin Brown beat Denis Istomin 7-6 (5) 6-1, but British pair James Ward and Jay Clarke suffered defeats to Oscar Otte and Alejandro Fokina respectively.
Highlights: Djokovic beats Sonego to set up Nadal final
Nadal beats Opelka in Rome semi-final