Three century breaks in the first five frames saw the five-times world champion rampage into a 5-3 lead, only for Selby to fight back to level matters with a brilliant under-pressure contribution of 72 before a solid closing 28 forced the 11th frame decider.
In the final frame, world No 1 Selby fluked a snooker on the red forcing O'Sullivan to foul several times trying to hit a red as it appeared certain he would lose the frame and match.
O'Sullivan flukes red when snookered, clears up to beat Selby in epic final frame
However, he then hit the red, which drifted into a middle pocket before clearing up the colours for an incredible 70-68 win - only two points separating arguably the two greatest players in the world game at the moment.
In the other semi-final, Judd Trump beat Eden Sharav 6-3 in a much more straightforward victory. He had raced into a 3-0 lead before his Israeli opponent his back with a century break of 108 to get on the scoreboard.
But Trump kept him at two frames distance, at least, from there on and set up a mouth-watering final against O'Sullivan on Sunday at 1pm.