Roger Federer is one win away from a seventh Wimbledon title after booking his place in a record eighth final by dethroning reigning champion Novak Djokovic.

The Swiss, who has 16 grand slam titles in all, was at his very best against a strangely subdued Djokovic under the Centre Court roof.

He forced the Serbian to commit 24 of the type of careless errors that have been absent on a stunning run of form that had seen him win four of the last six majors - Federer three times his victim at the semi-final stage - and wrapped up a 6-3 3-6 6-4 6-3 success in two hours and 19 minutes.

With so much on the line a cagey start was always expected and so it proved across the first five games, until Federer stepped up in the sixth. He broke at the first opportunity, setting up the chance with a forehand to the corner and validating it when Djokovic slipped as he charged in to field a venomous cross-court backhand.

With his nose in front, Federer duly served out for the set, sending down three aces across two games as the opener was wrapped up in 24 minutes.

Djokovic is not a player to roll over and he started the second set afresh, breaking at the first opportunity to take an early 2-0 lead. He was determined not to have the break cancelled out, with two of his next three service games all going to love, and he was not troubled after that as he levelled the match.

Like Djokovic early in the second set, Federer responded by going on the attack, spurning a second-game break point before allowing two more to slip through his fingers in the sixth. But the Swiss was sensing a vulnerability on Djokovic's serve and, having saved a break point of his own in the ninth game, he took the set in a mesmerising 10th.

Federer continued where he left off in the previous set, again taking Djokovic's serve as he eased out to 3-0 - some unusually-wayward hitting from the five-time grand slam winner seeing him fall 0-40 behind, with a careless forehand validating the second of three break points.

With Federer in such a zone it came as a shock when he wasted three more break points in the sixth game, allowing Djokovic a last-chance reprieve.

But he could not get anywhere near Federer's serve and could only stand and watch his title hopes - as well as possibly his world number one status - drift away as the Swiss took the set 6-3 and with it the match.