20-year-old Alexander Zverev became just the third man to beat Roger Federer this year as the German won his fifth title of 2017 in Montreal.
Zverev, ranked eighth, won 6-3 6-4 to lift up the Rogers Cup and claim a second Masters 1000 title.
With the win, the German has now extended his winning run to 10 matches while Federer, 36, lost his third match in 38 matches played this year, BBC Sport reports.
The Swiss will be participating in the Cincinnati Open next week and chances of him clinching to number one on the ranking is possible if the tournament favours him.
Either Federer or Rafael Nadal will replace Andy Murray at the top of the standings on 21 August.
Zverev gave further evidence that he is a contender for the biggest titles as he became only the second active player after Jo-Wilfried Tsonga to win two Masters titles, outside the ‘Big Four’ of Federer, Nadal, Novak Djokovic and Andy Murray.