Five-time world champion Ronnie O’Sullivan powered into the final of the Champion of Champions in Coventry with a 6-3 win over Shaun Murphy.
The 42-year-old world number three, a beaten finalist in the last two years at this event, made successive century breaks against the defending champion.
Murphy also had two tons but O’Sullivan moved in sight of a third title.
On Sunday he will face the winner of Saturday’s second semi-final between Mark Allen and Kyren Wilson.
Murphy, who beat O’Sullivan to win last year’s final 10-8, looked to have won the first frame with a 49 but O’Sullivan pinched it by clearing to the pink with a 43.
The 2005 world champion Murphy, having beaten European Masters winner Jimmy Robertson and Ding Junhui to reach the last four, levelled with a 123, missing the final black, but O’Sullivan built a two frame cushion with runs of 64 and 82.
A 51 put him in command of the next frame but when 21 points ahead he missed a red into the corner, thumping the table in annoyance, and Murphy took it on the black, reducing the deficit to 3-2 with a clearance of 34.
After Murphy missed an early blue, O’Sullivan put the frustration of the previous frame behind him with a clearance of 129 and quickly compiled the 965th century break of his illustrious career with a 127 in the next.
Murphy responded with a 102 but despite an outrageous mis-cue from O’Sullivan, when he inadvertently jumped the white over the black and into the pocket, he wrapped up a third successive victory against the world number 10 with two fifty breaks in frame nine.
Sign up to My Sport to follow snooker news and reports on the BBC app.