O’Sullivan recovered from the brink of defeat to pick up a 17-16 win over Selby, meaning he will face Kyren Wilson in this weekend’s best-of-35 final.
The five-time champion initially led 5-3, before Selby fought back to lead 9-7 and narrowly miss the chance to move 14-9 ahead.
After ending the second session 13-11 behind, O’Sullivan took the next two frames, only to shortly fall 15-13 behind.
He soon made it 15-14, but Selby clinched the next to go within one frame of victory.
That was before Rocket Ronnie made a quick-fire 138 total clearance, before forcing a final-frame decider with a break of 71.
He then made 64 in the 33rd frame yet missed the final red he needed, leaving Selby to strike 34.
However, after an extensive period of safety play, O’Sullivan forced the error and cleared the colours to claim victory.
Selby was left seething with his rival after the defeat, accusing him of playing “mind games”.
“It was a little disrespectful the way he was playing,” he said. “Whenever I snookered him, he just got down and hit it 100 miles an hour.
“He was being disrespectful to me and the game in that particular match. I missed the boat at 13-9 with the chance to go 14-9.
“But even then the long red I was about to play in the green pocket, I was about to play and he has put his cue by his seat and stood up in my eyeline.
“You don’t do that, maybe it was mind games.
“I didn’t really get much of a chance in the last three frames until near the end, when I did get a chance and thought I would clear up – but fell out of position.”
O’Sullivan shortly responded to Selby’s comments, saying: “You want to hit it as hard as you can and hopefully get a fluke otherwise I could give 40 points away.
“Don't blame me, blame the miss rule. If I was as good as Mark Selby at getting out of snookers, I could maybe get the balls safe. I haven't got a clue.
“He is just feeling a little bit sore I suppose, he has just lost a semi-final of the World Championship. I understand that.”