World No1 O'Sullivan won an exciting contest against Mark Williams 6-5, while Selby saw off Scotland's Stephen Maguire 6-3.
Williams was quick out of the blocks in the first of the two semis, establishing a two-frame lead as O'Sullivan struggled for confidence. The crowd favourite got into his stride, though, and in a contest that ebbed and flowed he levelled the score at 5-5 to set up a deciding frame.
O'Sullivan twice looked to have handed the initiative to his opponent, firstly when he inadvertently fouled by potting two reds after sinking the blue, then when he left the Welshman a three-quarter length red. But Williams wasted the second opening and O'Sullivan held his nerve to establish a 25-point lead with only blue, pink and black remaining – pumping his fist in delight as he neared the finishing line.
Williams did not concede but soon after the contest was over, leaving O'Sullivan delighted. He said: "I don't know how I won that. The way it started I expected to lose quite comfortably.
"The things I had to go through, I was willing the balls in and I didn't know what I was doing from one shot to the next. I was wanting to make a game of it."
On his struggle to maintain top form, O'Sullivan continued: "Every now and again I play a few decent shots but the rest of the time it's grit and determination. I'm trying to find a bit of inspiration again. I've always been like that – but every ball I feel like I'm going to miss it."
On Barry Hearn's observation he should adopt a more cheerful approach, O'Sullivan added: "The reason I don't like smiling is because I'm not confident. I don't expect to play well these days. I'm petrified going out there to play every time. It's going to be really hard for me in the final."
There he will meet Leicester's Selby, ranked seven in the world, in a repeat of last year's final.
Selby took the first and third frames last night, but on each occasion he was pegged back – with the highlight of the first four frames an impressive 140 clearance in the fourth by the world No.2 from Scotland.
However, Selby finished strongest, taking the lead again with a break of 91, going two frames clear by taking a scrappy fifth frame, then wrapping it up with a run of 51 in frame nine.