In a match lasting just over three hours, Federer got the better of his great rival Nadal in an enthralling contest on Centre Court.
Federer won the first set in a tiebreak before completely losing his way in the second set, losing it 6-1.
But the eight-time Wimbledon champion bounced back to win the third set 6-3 and in a tense fourth set, Federer kept his nerve to finally book his place in Sunday’s final.
In a star-studded royal box including the likes of Sir Alex Ferguson, Sir Nick Faldo, Rod Laver and Sir David Attenborough, it was Beckham who had the best response to the drama which he had seen.
As he applauded Federer and Nadal off the court, the Manchester United and England captain mouthed the words ‘unbelievable’ to the person alongside him.
And Federer used the exact same word to describe some of the shotmaking from Nadal after the match.
“I’m exhausted. It was tough at the end. Rafa played some unbelievable shots to stay in the match,” he said.
“The match was played at a very high level.
“The biggest points in the match went my way. There were tight ones and long rallies.
“That first set was huge to get the lead and try to protect it.
“He came back very strongly in the second set. It was a joy to play today.”
Federer now faces world No 1 and top seed Novak Djokovic in the final on Sunday to win a ninth title.
And the Swiss says he is excited at the prospect of playing the Serbian star.
“He played great against Bautista Agut,” he said.
“Novak was supreme. He is the defending champion and has showed why. He has been rock-solid.
“I hope I can push him to the brink and hopefully beat him but it’s going to be very difficult. I’m very excited to say the least.”