Ronnie O'Sullivan came through a gruelling final session with Stuart Bingham to reach the semi-finals of the Coral Tour Championships in Llandudno.
The five-time world champion prevailed 9-3 but he was unable to get into his stride in a tight, tactical clash.
O'Sullivan, leading 6-2 overnight, took the first frame of the evening comfortably, but only after a couple of stoppages because of distractions from the crowd.
The next frame lasted 49 minutes after the blue blocked a pocket and the remaining reds became bunched up close to it but O'Sullivan eventually eked out the points to move within one of victory.
Bingham took the next and O'Sullivan was further delayed as he was dragged into another safety battle in the fourth frame of the evening but in the end he was not to be denied.
O'Sullivan told ITV Sport: "I felt all right at the start then (it was) just that scrappy frame.
"Stuart was asking for a re-rack when there were four reds on the table. When someone says that you know they are looking for it. I thought we could have been there all night.
"It took the sting out of the game. In the end I couldn't make 20 and nor could he.
"I saw (Stephen) Hendry in the commentary box and he was nearly falling asleep. My hero, I've ruined his night."
O'Sullivan will now play Judd Trump in the last four after the world number six won four frames in succession to stun world champion Mark Williams 9-8.
It had seemed Trump's charge, after roaring back to 8-8 from 8-5, would end in the decider as Williams compiled a break of 46.
But the Welshman overstretched and missed a relatively straightforward red and Trump snatched victory.
"I was never really in the match – he controlled it all," Trump told ITV Sport. "I was just trying to clear up to stay in it. He made a good clearance to go 8-5 and I felt that was it then.
"But then he started to miss his long balls, which he'd been potting, and gave me a chance. At 8-7 he had a chance to clear up and in that last frame I was surprised he missed from there."
Mark Allen went through 9-7 after seeing off a determined fightback from Kyren Wilson, who had trailed 7-2 earlier in the evening.
He will face Neil Robertson in the last four after the Australian beat Mark Selby 9-8 on Tuesday.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', 'a94ad307-1632-4816-b1fb-24a03f250e94');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:uk');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:other,sport:snooker');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Ronnie O\u2019Sullivan grinds his way into Llandudno semi-finals'});