The 12th seed, heading into the world's top 10 in next week's updated rankings, delivered a controlled performance on Rod Laver Arena to win 6-4, 6-4 in one hour 42 minutes.
She is the first Chinese player to reach the final at Melbourne Park since her idol Li Na, who won the tournament in 2014.
"I'm super excited to have such a great performance today and arrive in the final," said the 21-year-old, who had previously never been beyond the quarter-finals at a Grand Slam.
"My opponent was playing unbelievable tennis and had a really good baseline stroke. It is tough to explain my feelings now."
Yastremska broke first in the evening clash on Rod Laver Arena but served four double faults in the next game to immediately give up her advantage.
Zheng, backed by a strong Chinese contingent in the crowd, broke again in the seventh game, after which the Ukrainian left the court, apparently for treatment for a stomach issue, which appeared to be causing her discomfort.
That proved enough to take the first set, after which Yastremska again left the court.
The Ukrainian, attempting to become just the second qualifier to reach a Grand Slam final in the Open Era, after Emma Raducanu at Flushing Meadows in 2021, lost her serve in the third game of the second set.
Moving freely, she broke back to level at 2-2 but Zheng broke her to love in the seventh game, which ultimately proved decisive as she took advantage of her first match point to progress to Saturday's final.
World number two Sabalenka earlier beat US fourth seed Coco Gauff to stay on track for a title defence in Melbourne.