Williams, who played only five tournaments this year before the season's last Grand Slam due to injuries and a life-threatening blood clot on her lungs, will play Australian Sam Stosur in Sunday's final after a ceremony marking the 10th anniversary of the September 11 attacks.
The 29-year-old Williams, seeded 28th after sliding down the rankings while on the sidelines, thoroughly dominated the top-seeded Dane.
The three-time US Open champion and winner of 13 Grand Slam crowns belted 15 winners to Wozniacki's zero in the opening set, and finished the match with 34 outright winners to a meagre five for her 21-year-old opponent.
Serving for the match at 5-3, Williams wobbled with two careless groundstroke errors and two double-faults to allow Wozniacki to bring the set back on serve.
The American made amends in the next game, however, sealing the match when the Dane put a backhand into the net, sparking a jumping and twirling celebration.
"It's so great. I'm so happy, especially with 9-11," Williams told the Arthur Ashe Stadium crowd. "It really meant a lot for me to come out here as an American and to still be in the tournament.
"I really want to play tomorrow on such a special day for the United States, so I'm really excited."
Williams said battling back from her injuries and illness made this championship advance even more meaningful to her.
"It's been such an arduous long road. I can't believe it. I really can't," she said.