This news medium understands that the 7-6 1-6 6-3 6-4 victory puts Federer on course for a ninth Wimbledon title.
Federer will now take on Novak Djokovic in Sunday’s final after the Serb saw-off Roberto Bautista Agut 6-2 4-6 6-3 6-2 on Friday.
This was a first-time clash between Nadal and Federer at Wimbledon since their 2008 final.
Meanwhile, multiple-grand slam champion Serena Williams has booked her place at the final of the 2019 Wimbledon on Thursday.
The American and mother-of-one will play in her 11th Wimbledon final after seeing off Strycova 6-1, 6-2.
This will also be her second straight Wimbledon final after becoming a mum in 2017 and she will be hoping for her eighth title at the All England Club.
Serena had earlier beaten Barbora Strycova 6-1, 6-2 in the semifinals on Centre Court as she converted four of her five break points, while Strycova failed on all three of her chances.
She will take on Simona Halep in Saturday’s match where she hopes to secure one more major crown to be at par with the all-time record of 24 set by Margaret Court.