Nadal, the No. 3 seed, came away a 6-4, 3-6, 6-1, 6-7 (3-7), 9-7 winner over world No. 1 Novak Djokovic, backing up the four-set decision over Djokovic that gave the Spaniard his third straight -- and seventh overall -- French Open title a year ago.
Ferrer took out sixth-seeded Jo-Wilfried Tsonga 6-1, 7-6 (7-3), 6-2 in the second semifinal.
Nadal is 11-5 in Grand Slam finals while Ferrer is seeking his first major tournament title. Nadal is 19-4 versus Ferrer, including an eight-match winning streak that includes three meetings this year.
The French Open is the ninth tournament this year for Nadal and he's been in the finals in all of them, posting a 6-2 record going into Sunday's final. He is 58-1 all-time at Roland Garros, including 5-0 versus Djokovic, although it was far from an easy win.
Nadal was serving for the match in the fourth set but Djokovic won the first two points in the game and then was able to finish off his second break chance to get to the tiebreaker. Djokovic grabbed a 4-1 lead in the tiebreaker and forced the fifth set.
Djokovic broke Nadal in the final set's first game but Nadal evened things with an eighth-game break. After a series of seven held games, Nadal was able to put the match away with his eighth break, ending the match in 4 hours, 37 minutes.
Nadal had the lone break of the first set and had a break lead in the second before Djokovic won the last four games to even the match. The third set was total Nadal as he won 28 of the 40 points and seemed cruising to the final and had a break in the 11th game of the fourth set to get in position to serve for the match.
Ferrer made sure the second semi wasn't nearly as dramatic, defeating Tsonga in just more than 2 hours.
He won the first five games of the match and survived a pair of second-set breaks before taking the tiebreaker. He didn't allow Tsonga a break chance in the final set, dropping just seven points on serve.
Ferrer had 21 unforced errors against 24 winners while Tsonga committed 56 unforced errors while hitting 31 winners.