Azarenka vann det första setet med 6-3 och gick fram till 4-2 i det andra innan Williams vaknade till liv.
Amerikanskan vann sedan fyra game på raken och utjämnade till 1-1 i set.
Precis som i de tidigare två seten inledde Azarenka det tredje setet bra och gick upp till 2-0. Men Williams lyckades återigen få ordning på sitt spel och vann till slut matchen med 3-6, 6-4, 6-2.
I åttondelsfinal väntar amerikanskan Sloane Stephens.