Roger Federer guaranteed his place in the semi-finals of ATP Finals in London after defeating German wonderkid Alexander Zverev 7-6 (8-6), 5-7, 6-1.

"The maestro" did what was expected, but it was not without Zverev's resistance.

Despite the 16-year gap separating youth from experience, the pair produced a clash of highest quality and intrigue.

The victory sent the World No. 2 through and it's the 14th time he makes the last four from 15 appearances in the tournament.

After the match, Federer was full of praise for Alexander Zverev, labelling him as "the full package".

The 20-year old started the Finals with an impressive 2-1 victory over Marin Cilic, and a win against Jack Sock will send him through to the semis.

"What I like about Zverev is he's got the full package," Federer said on Zverev.

"He's already third in the world. I think he's going to leave the World Tour Finals, regardless if he qualifies for the semis or not, with a lot of information.

"I think the last six months of the season gave him everything he needs to work forward to. Then, of course, he's only going to get stronger from here. That should be very encouraging for him and his team.

After Rafael Nadal pulled out yesterday due to a knee injury, Federer becomes the No.1 favorite to lift the trophy. Zverev, on the other hand, can secure a rematch with the Swiss in the final, if he wins the rest of his matches.

And, the German believes he has the potential to do just that.

"I think it was a very positive match," Zverev said. "Obviously he won it, he's in the semi-finals, but even for me, I played the better match of the two today.

"I think I still have great chances of qualifying, playing Jack Sock next. I think if I continue having this level, I don't know, maybe you'll see me on the weekend still."