Azarenka will play in Sunday's 2 p.m. final against the winner of Saturday night's semifinal between fifth-seeded Samantha Stosur and unseeded Virginie Razzano.
Azarenka had seemed on her way to an easy and dominating win after the pummeling she put on Ivanovic in winning the first set without the loss of a game.
But Ivanovic began to gain confidence, became more vocal while hitting some forehand winners and won the final two games to take the second set.
Azarenka got the first service break of the final set in the fifth game when Ivanovic made three backhand errors and didn't win a point on her serve. Azarenka consolidated the break for a 4-2 lead.
Ivanovic kept herself in the match in the next game by holding serve at love, the final point an emphatic ace.
But Azarenka held serve at 30 for a 5-3 lead and broke Ivanovic in an unemotional final game when Ivanovic put yet another backhand into the net.