The Spanish third seed, chasing an unprecedented eighth Roland Garros title, saw off Slovakia's Martin Klizan 4-6, 6-3, 6-3, 6-3 to record his 54th win in 55 matches at the tournament.
For the second round in succession, the 26-year-old dropped the first set as he struggled in the cold, heavy conditions where the temperature just nudged over the 12-degree mark.
However, just like in his opening clash against Germany's Daniel Brands, the 11-time major winner eventually found the direction on his serve and familiar pin-point power on his groundstrokes to see off Klizan, the world number 35, and a fellow left-hander.
There were still bumps along the way, with Nadal dropping serve twice in the fourth set, the second time in the seventh game as he served for the match.
Nadal goes on to face Italian 27th seed Fabio Fognini for a place in the last 16.
The Italian had reached the third round by knocking out Lukas Rosol, the Czech who shocked Nadal at Wimbledon last year.
"I was up against a very tough opponent today who was very aggressive," said Nadal.
"I was too defensive at the start but I improved and I am happy with the way I finished.
"These conditions are not easy to play in. I hope to see the sun come back soon."
Nadal's second round match was one of nine not completed on Thursday because of rain.