...reach her first Wimbledon semi-final.
The 19-year-old Serb, runner-up at the French Open last month, will face Venus Williams for a place in the final.
Facing defeat in the ninth game of the third set, Ivanovic saved three match points on her serve to get herself back into the match and then broke to turn the tables on her opponent.
A double fault by 18-year-old Vaidisova handed a delighted Ivanovic the match after two hours on the court.