Nadal beat world number one Novak Djokovic for a record seventh French Open crown in a rain-delayed final on Monday but sprang back into action with a 7-5 6-1 victory over Slovak Lacko.
Roger Federer also booked a berth in the last eight with a 6-4 7-6 win over Germany’s Florian Mayer.
“In the second set, I think I did everything better,” Nadal said.
“Every hour on court works well for me, on grass, because I don’t have a lot of time to practice. I’m happy to be through, that’s the main thing.”
Nadal broke Lacko twice in the first set, dropping his serve once, before running away with the second set to earn himself a clash with defending champion Philipp Kohlschreiber.
Kohlschreiber, who has not beaten Nadal in eight previous attempts, defeated Poland’s Lukasz Kubot 6-7(5) 6-1 6-3.
“I was too anxious and missed too many chances,” said the German of the first set.
Federer enjoyed five break points in the first set but struggled to take his chances, converting just one of them. The second set was more even as both players held serve with relative ease until the 12th game, when Federer broke to seal the win.
The five-times former champion will next face fifth seed Milos Raonic of Canada.
In the day’s other match, wildcard Tommy Haas beat sixth seed Marcel Granollers 6-3 6-4 to set up a clash with Tomas Berdych.