Dominic Thiem will face Stefanos Tsitsipas in the ATP Finals after defeating defending champion Alexander Zverev 7-5, 6-3 on Saturday evening.
The Austrian fifth seed saw off the big-serving German 7-5, 6-3 after Greece's Tsitsipas had earlier beaten Federer 6-3, 6-4.
Zverev, who beat Novak Djokovic in last year's final, went toe to toe with Thiem in a relatively uneventful first set but crumbled in the final game, serving a double fault to lose the opener 7-5.
The seventh seed settled back into his serving rhythm at the beginning of the second set but succumbed to another break in the sixth game. Thiem, looking unflustered, fended off a couple of break points in the following game and served out to take the match, winning with a forehand down the line.