The 23-time Grand Slam champion, 38, came from behind to win (4-6, 6-3, 6-2).
Serena Williams will now play against Victoria Azarenka in the semifinals. Azarenka defeated Elise Mertens (6-1 6-0) later on Wednesday in their own quarterfinal match.
Williams said: “Listen, I’m happy to be standing here talking to you because, at one point, I think I was pretty close to not being here. So keep fighting, and that’s one thing that I’m super excited about is I never give up, and I just got to keep going.”
Williams previously beat Sloane Stephens over the weekend, and though there were no fans in attendance for their competition, Williams had special cheerleaders in the stands to cheer her on to victory.