The tall American was given a walkover to the final after her compatriot, fifth seed Jamie Hampton, was forced to withdraw from their semi-final after suffering a right hip injury in practice.
The Australian Open, the first major of the year, starts in Melbourne on January 13.
Ivanovic, also a former world number one and 2008 French Open champion, stormed through the opening set against third seed Flipkens without dropping a game but the Belgian took her all the way in the second.
The 26-year-old prevailed in the tiebreaker, though, to win through 60 76(3) and inch closer to a first WTA title since winning in Bali at the end of 2011.
"The first set was really almost without mistakes - I served well, hit the ball well and played very aggressive too," said Ivanovic.
"The second set I felt was good for me too, but she started to serve better and put a lot more pressure on me, but I managed to serve well too and played well at the end.
"I expected a tough match today and it turned out to be a really tough second set."
But 33-year-old Williams, a seven-times grand slam singles champion, holds an eight-one record over Ivanovic in past matches and will be aiming for her 45th WTA singles title and first since Luxembourg at the end of 2012.
At WTA Shenzhen, top seed Li Na will face fellow Chinese star Peng Shuai in the final.
- - -
Auckland Classic Women's Singles Semi-finals
Venus Williams (U.S.) beat 5-Jamie Hampton (U.S.)WO
2-Ana Ivanovic (Serbia) beat 3-Kirsten Flipkens (Belgium) 6-0 7-6(3)
Shenzhen Open Women's Singles Semi-finals
1-Li Na (China) beat 8-Annika Beck (Germany) 6-1 6-3
5-Peng Shuai (China) beat Vania King (U.S.)WO
- Sports & Recreation
- Jamie Hampton