Australian John Millman pulled off one of the great US Open shocks by coming from a set down to defeat Roger Federer under the lights on a stunned Ashe Stadium.
Earlier, Maria Sharapova suffered her first ever loss in a night session at Flushing Meadows, with Carla Suarez Navarro giving herself the perfect 30th birthday present.
Millman will now play Novak Djokovic, who struggled with the heat again but defeated Joao Sousa, while Naomi Osaka won the battle of the 20-year-olds against Aryna Sabalenka.
Picture of the day
Naomi the joker
Osaka has a reputation as one of the quirkiest players on tour. The 20-year-old famously branded her acceptance speech after winning in Indian Wells as the “worst of all time” and comes across as shy in front of the media.
She said: “I literally only have one friend that I’m actually completely myself with. I feel bad for her sometimes. And then the other person is my sister. I guess I tell jokes a lot, but I’m not really that sure because sometimes they don’t laugh and they just stare at me like I said something insulting.”
The carrot of her first slam quarter-final also kept her going, and the Ukrainian said: “I think it was one of the reasons why I didn’t stop. The second one was I saw the shade. I was speaking to the court, I was speaking to the God, I said, ‘Move, move faster, please’.”
Williams takes on Karolina Pliskova in a rematch of the 2016 semi-final, which was the last match Williams lost in New York, while Nadal faces ninth seed Dominic Thiem.
Earlier, defending champion Sloane Stephens meets Anastasija Sevastova and third seed Juan Martin del Potro, the only man yet to drop a set, takes on John Isner.