Williams will now face Maria Sharapova for the title after the Russian second seed beat compatriot Ekaterina Makarova 6-3 6-2 earlier on Rod Laver Arena.
American Williams has won all five of her previous Melbourne Park finals, and while pushed by her clean-hitting compatriot on Thursday she was able to win the critical points to get out of trouble.
"She pushed me hard the first set and I had to dig deep mentally to get through that," Williams said in a courtside interview. "I'm really excited to be in the final again. I didn't come here with that expectation so it's exciting."
Both players had entered the semi-final with injury and illness concerns, with Keys suffering a recurrence of an adductor injury, which ruled her out of Wimbledon last year, during her semi-final victory over Williams' older sister Venus.
Williams was also battling a cough after a virus swept through the tournament.
Keys continued to demonstrate the clean power-hitting she has shown throughout the tournament, forcing the aggressive Williams behind the baseline and even breaking in the first game to get her first grand slam semi-final off to an explosive start.
However, Williams, bidding for a 19th grand slam title, got the match back on serve in the sixth game when she closed off Keys' options from the net and the 19-year-old sprayed her backhand wide.
Williams, 33, then produced several important serves in the tiebreak, including one down the centre line on set point to clinch it in 45 minutes.
Williams put pressure on Keys' serve in the second set, which resulted in two breaks of serve to give her a 5-1 lead, and while Keys saved seven match points in the seventh game and one more in the eighth, she could not stop her compatriot from advancing to the final against Sharapova.
"She came up with some great shots," Williams said of Keys' battle to prolong the match.
"I could have done a little more and been more aggressive, but that's a great sign that she played so well when she was down and didn't give up."