The unseeded American, Melbourne Park champion in 2003 and 2005, edged a first set tiebreak and thwarted a late fightback from the 10th seed to win through in an hour and 46 minutes on Rod Laver Arena.
"She played some incredible points on match point, she reminded me a bit of myself," Williams said in a courtside interview after the Czech had saved five match points.
"I just tried to stay focused and calm. It was great. I'm excited (about the final) I have nothing to lose, I'm having a lot of fun. I'm back in the top twenty and that means so much."
Williams, the former world number one who stands at 81st in the rankings after a 2006 season blighted by injury, made a slow start on her first grand slam semi-final appearance since she won at Melbourne Park two years ago.
Vaidisova, a semi-finalist at Roland Garros last year, won Williams's opening service game with a crunching forehand winner and confidently held her own serve for a 2-0 lead.
But Williams soon found the pace and aggression that had seen off four seeds this week, and a nervy double fault from Vaidisova helped her level at 3-3.
NET CORD
A huge net cord gave the Czech another break for a 5-4 lead and she missed out on her only set point in the next game before she was broken herself after netting a loose backhand.
Williams edged ahead 6-5 courtesy of an ace and a confident hold from the Czech forced a tiebreak.
Williams raced into a 4-1 lead but at 5-2 served two double faults to give her opponent a chink of hope.
But an easy put-away, accompanied by a triumphant scream, gave Williams set point at 6-5 and she won it after 58 minutes when Vaidisova netted a high forehand.
Williams eased into a 5-1 lead in the second set and seemed on course for an easy victory, three double faults in game five from Vaidisova helping the American secure a double break.
But the Czech dug deep and saved four match points in game nine before holding to make Williams serve out for the match at 5-4.
Williams had used up all her Hawk-eye challenges when a wide forehand from Vaidisova on her fifth match point was called good, but the American made no mistake when she punched away a forehand volley to seal victory on match point number six.
She will play top seed Maria Sharapova of Russia or Belgian Kim Clijsters, the fourth seed, in Saturday's final.
Images from Day 10
Gonzalez stuns Nadal in quarters
Paes-Stosur in last eight
Bhupathi-Stepanek out of doubles
Spotted: Bhupathi at the Aus Open