The 23 time grand slam champion will face Victoria Azarenka in the semifinals after overcoming Tsvetana Pironkova in three set 4-6 6-3 6-2.
Serena had to battle from a set down to defeat the unseeded and unranked Bulgarian.
Pironkova who had taken a three year absence from tennis to start a family looked in control early on as she raced to a 6-4 lead.
After a slow start, Williams started to find her intensity as she settled into her familiar rhythm to power into the lead in the next two set.
“I kept fighting and that’s one thing I’m super excited about. I never gave up and I’ve got to keep on going,” she said after the match.