Murphy put together runs of 50, 77, 61 and 109 in a fraught and drawn out semi-final affair that ebbed and flowed to beat his Chinese opponent 6-5 to seal a final showdown against Wilson.
The Magician fought back from two frames down to lead 4-2 but his 19-year-old opponent won three frames in succession to put himself within a frame of the final.
However, the world number 10 produced runs of 61 and 109 in frames 10 and 11 to secure his spot in a 21st ranking event final.
Earlier, Wilson edged out the five-time world champion O’Sullivan 6-5 at the end of a deciding frame at the Motorpoint Arena, surging back from 3-1 down at the interval to reach Sunday’s final.
O’Sullivan made a bright start and took the first frame on the final black after Wilson failed to pounce when he had the chance, and stretched his advantage with a clean 97-30 win in the second.
Wilson fell just short of a century to pull it back to 2-1 with a break of 94, but it was O’Sullivan who took the first hundred of the semi-final to go 3-1 ahead with a frame of 110-8.
The pair exchanged frames after the interval to keep the four-time world champion in a two-point lead, but Wilson began what would be a decisive comeback with a century in the seventh to make it 4-3.
He levelled the game with a stunning break of 163 but couldn’t keep the momentum going, O’Sullivan nipped in to make it 5-4 and go within a frame of reaching the Masters final.
But it was Wilson who capitalised in the penultimate frame to take it to a decider, before finishing up with a 68-0 win to set up a meeting with either Shaun Murphy or Bingtao Yan on Sunday.
Wilson punches the table in delight after O’Sullivan win
"I didn't ever feel in control," O'Sullivan told Eurosport. "I was just trying to hang on really. There were moments when I played some good stuff, but I just missed so many balls today.
"You can't win matches if you're missing them type of balls. I've got no complaints. No complaints with the table. I've done well to get as far as I did really, I think.
"It was a tough match. It would have been nice to have come out with a victory, but it wasn't to be."
Wilson's 'magnificent' break of 136 against O'Sullivan