Swiss great Roger Federer got a tough battle from the Netherlands's Robin Haase in the second set but hung on for a 6-3, 7-6 (7-5) victory Saturday to earn a spot in the final of the Rogers Cup in Montreal.

The 36-year-old Federer, who has lost just two matches in the 2017 season and won both of the Grand Slam events he entered (the Australian Open and Wimbledon), became more dominant on serve as the semifinal match went on and won just enough big points on return.

The unseeded Haase gave the No. 2 seed a tough battle in the tiebreaker but sealed his fate when he hit a forehand wide on match point.

Next up for Federer in Sunday's final of this hard-court event, a key US Open tune-up, will be one of tennis's promising young stars: either unseeded 18-year-old Canadian Denis Shapovalov or 20-year-old, fourth-seeded German Alexander Zverev.