Kyren Wilson took control against Anthony McGill to establish a 13-11 lead and move closer to the final of the World Snooker Championship.
McGill was four frames ahead overnight, but he won only five of the 16 played on Thursday to leave himself with an uphill battle at the Crucible in Sheffield.
Wilson had stormed back in the morning session to win six of the eight frames and level the match at 8-8.
But if McGill was stunned by the one-sided nature of that session he did not show it.
The Scot was straight out of the evening blocks and was on course for a 147 until he missed the seventh red into the corner.
McGill still won the frame comfortably but a missed black in the next allowed Wilson to make a decisive 99 break, with only a failed yellow denying him his third century of the match.
Two tight frames were exchanged ahead of the interval before Wilson rediscovered his free-flowing style with a break of 116, giving him the lead for the first time.
Wilson extended his advantage after a battle of nerves in the next frame and, as McGill continued to struggle, another century break – this time 105 – put the Englishman 13-10 ahead.
McGill might have been facing a sleepless night over the way his fortunes had fallen so dramatically.
But he regathered his composure to produce his first Crucible hundred this year – a superb effort of 136 – and put himself back into contention for a final place.
Mark Selby fought back against a frustrated Ronnie O'Sullivan in the other semi-final to lead 9-7.
Selby had managed to cling to O'Sullivan's coattails at 5-3 down by winning the final frame of a difficult first session on Wednesday.
But he took the first four on Thursday afternoon before holding his nerve to win the second and last after the interval for a 6-2 return.