The 22-year-old, playing in his second tournament since reaching the semi-finals of the US Open, triumphed 6-2 6-4 against the Italian world number 17 in Vienna.
But the result does not tell the story of a grueling encounter that lasted an hour and 48 minutes.
After breaking Musetti’s serve in the opening game, Draper recovered from a break down to reel off four straight games and take the first set.
Musetti, a Wimbledon semifinalist this year, dropped her serve again early in the second.
Draper, who had won their previous two matches, went through two tough serves but Musetti’s pressure paid off as he leveled at 4-4.
However, the momentum dramatically swung back in Draper’s favor thanks to a poor serve from Musetti.
A visibly exhausted Draper took a medical timeout at 5-4 but came back to complete the win and reach his first ATP 500-level final.
Draper, now ranked 15th in the world live, told Sky Sports: “I thought the first set was really high from me.
“Lorenzo is a really strong competitor and the second set was up and down, some nerves and some tough moments. Fortunately, I eventually did.”
Draper is the fourth British player to reach the final in Vienna after Greg Rusedski, Tim Henman and two-time winner Andy Murray.
He will face Russian Karen Khachanov, who beat second seed Alex De Minaur 6-2 6-4, in Sunday’s showpiece as he bids for a second career title following his summer victory in Stuttgart.
“I guess this is my biggest final so far,” he added. “To be in the 500 final after the season I had, I’m incredibly grateful.”
There was disappointment for British number two Cameron Norrie, who lost 6-3 6-4 to France’s Quentin Hallis in Paris Masters qualifying.