The defending champion, who is looking for a record seventh triumph at the clay court tournament, saw off his fellow Spaniard 6-2 6-2 6-1 to book his place in Sunday's final.
"You cannot expect to win this semi-final against one of the best players in the world - it was my best match at Roland Garros this year," said Nadal. "David deserved to be in the final too and is one of my best friends on the tour. I wish him all the best for the rest of the season.
"I'm very happy to be in the final of Roland Garros. There is no secret. I've worked hard all my life to enjoy moments like today. I feel good, I've had a very good season, I try my best every match, stay focused and humble every time."