Judd Trump will play Neil Robertson in Sunday's English Open final after beating John Higgins 6-4 in Milton Keynes.
Four-time world champion Higgins held the upper hand in the early stages and with the help of two century breaks went 4-3 up.
But world number one Trump took the next three frames and while leading 5-4 in the 10th, a score of 73 sealed victory.
"I thought I got outplayed," Trump told Eurosport. "I was under it big time, he played well in the frames he scored heavy.
"But towards the end he had a couple of chances and in the last frame he was a little bit unlucky when he fouled, or else that would have been 5-5."
After Trump had drawn level at 2-2 with a break of 102, Higgins made 133 in the next and a second century – 107 – put him 4-3 ahead, but the Scot was made to pay for several errors.
Robertson stayed on course to become the first player to win his 19th ranking title by edging defending champion Mark Selby 6-5.
Trump added: "He's a real heavy scorer and he obviously got through a tough game against Selby, so he'll be raring to get another title under his belt.
"It's another game I will enjoy. I enjoy playing him. Hopefully for me it's a battle of scoring and I can come out on top."
Robertson took a 2-0 lead after clinching two cagey opening frames and also led 4-2 and 5-3, but each time Selby battled back to level before the Australian sealed his place in the final with a 92-break in the decider.
Three-time world champion Selby made the first century break (117) in the third frame, but Robertson made scores of 134 and 129 to forge 5-3 ahead.
Selby edged a tight ninth frame and levelled at 5-5 with his fourth half-century break of the match, but Robertson was not to be denied.
"Mark was as tenacious as ever," Robertson told wst.tv. "I had most of the run of the ball, we had a joke about it at the end.
"But you have to take advantage when it goes your way. I was lucky in the last frame when I missed the long red and didn't leave Mark anything."