Rublev, ranked fifth in the world, began to despair after losing the first set and failed to put up much of a fight in the second.
He has made it to the French Open final for the second year running.
Sixth-seed Rune, who had beaten Ruud at the Italian Open last month, littered the court with 26 unforced errors in the first two sets.
Zverev has not played since June after undergoing surgery to fix damaged ankle ligaments following an injury he suffered during his French Open semifinal.
Zverev was trailing 7-6(8) 6-6 against Nadal when he rolled his ankle and he screamed out in agony.
The world No.3-ranked player posted an image on Instagram of him alighting from a private plane walking on crutches.
Zverev cried in pain following the fall and had to be assisted into a wheelchair by the physio and Nadal, who quickly made his way round the net to help support the 25-year-old.
Zverev had to be pushed off the Philippe Chatrier court on a wheelchair after twisting his ankle late in the second set as he trailed 7-6(8), 6-6 in his meeting with 21-time Grand Slam champion Nadal.
Nadal was leading 7-6(8) 6-6 when Zverev suffered the injury.
The German defeated his Spanish opponent, 6-4 6-4 4-6 7-6(7).