The German was largely abject for the first two sets but picked a timely moment to claim his first win from that position, turning things around impressively to win 3-6 2-6 6-3 6-4 6-3.
Zverev held his arms aloft towards his jubilant support team and he will face either Dominic Thiem or Daniil Medvedev in the final on Sunday.
"I was looking at the scoreboard when I was down two sets to love," he said. "I was like, 'I can't believe it, I'm playing in a semi-final where I'm supposed to be the favourite and I'm down two sets to love and I've got no chance, I'm playing so bad'.
"I knew that I had to come up with better tennis and I knew I had to be more stable. I'm through to my first grand slam final and that's all that matters."
Ever since Novak Djokovic's shock disqualification during a clash with Carreno Busta last weekend, the focus has been on which of the next generation could finally seize their moment.
At 23, Zverev is the youngest men's slam finalist for a decade, but for much of the match it appeared 29-year-old Carreno Busta was about to rip up the script.
Zverev has been touted as a slam champion in the making for a number of years but had struggled to produce his best tennis on the biggest stage.
A first slam semi-final at the Australian Open in January was a breakthrough, and he had found a way to win in New York this fortnight despite an unreliable serve and tennis that Martina Navratilova branded "pat-a-cake".
Zverev bristled at Navratilova's criticism but the first two sets here were a horror show for the German.
The scoreline could have been worse given Zverev trailed 5-1 in the first set, 5-0 in the second – a set where he looked completely lost and hit 22 unforced errors in just eight games.
Zverev had been a set and a break down against Borna Coric in the last eight before turning things around, and he at last began to play more freely at the beginning of the third set.
With Carreno Busta, who played a four-hour marathon against Denis Shapovalov in the quarter-finals, starting to lose some physical sharpness, it became apparent the match still had some way to run.
Zverev made only three unforced errors in winning the third set and, although his new-found grip on the match remained tenuous, he won the fourth as well to force a decider.
Carreno Busta took a medical timeout for treatment to his pelvic area but, if he had hoped that would help him halt Zverev's momentum, he was to be disappointed.
The Spaniard was now looking very weary, and a resurgent Zverev broke serve again to start the decider before clinching victory on his second match point.