The number 13 seed won the opening set 7-5 but, as in the first round, her serve was giving her some trouble.
That was even more evident in the second set, as Chan raced away and won it 6-1 to level the match.
Ivanovic began the deciding set well, breaking her opponent and opening up a 2-0 lead. The Serbian was constantly looking at her corner and fist pumping to show she meant business, but Chan was not deterred.
The world number 118 matched Ivanovic's ground strokes, pulling her all over the court to get a game back.
A dip in her game allowed Ivanovic to make it 4-1 but Chan came back strongly again. She couldn't find a final flurry, however, and Ivanovic won the deciding set 6-4.