Seven-time winner Roger Federer lost in straight sets to 21-year-old Russian qualifier Andrey Rublev in the third round of the Cincinnati Masters.
The world number 70 won 6-3 6-4 in just over an hour to set up a quarter-final against compatriot Daniil Medvedev.
Swiss 20-time Grand Slam champion Federer, ranked third, plans to compete at the US Open later this month.
Defeat means he will have played just two matches in preparation, after an opening win over Juan Ignacio Londero.
On Rublev, Federer said: “He was excellent today. He didn’t give me anything. It was tough for me but an excellent match for him. I was impressed.
“I just would have hoped for an overall better performance. He was mixing it up nicely on the serve and on the return he was really consistent.”
In a first meeting between the pair, Federer initially broke back at 2-0 down in the first set but Rublev established a 4-1 lead from which the Swiss could not recover. He again had no answers as the Russian made the decisive break to lead 4-3 in the second.
After his biggest career win to date, Rublev said: “It is such an amazing feeling when you’re playing a legend like Roger and all these people supporting him until the end. One day I hope I’m going to feel the same.
“Today I was just trying to do my best and was thinking in my head that I need to play every point until the end no matter what.”