Martin Adams came from 3-1 down at the interval to beat second seed Ted Hankey 5-3 at the Lakeside World Championship in Frimley Green.
The England captain regrouped at the break to reel off four consecutive sets for victory.
"I've been 4-0 down before and come back so I knew I could do it," said the 48-year-old from Peterborough.
Adams will play Simon Whitlock in the last four after the Australian beat Dutch giant-killer Andre Brantjes 5-1.
Brantjes, who had beaten Co Stompe and Mervyn King on his way to the last eight, was under pressure early on as Whitlock built up a 4-0 lead by the interval.
Brantjes briefly recovered to take the first set after the break.
But bricklayer Whitlock, who has dropped just one set in each of his three wins, held on to claim victory.
"I threw some good darts tonight," admitted the 35-year-old, who is making his first appearance at Frimley Green - and was wearing a borrowed pair of shoes after his own had given him blisters.
"I'm absolutely delighted to get into the semi-finals because it means I'm guaranteed a place in the tournament next year and there's no reason why I can't go on and win this now."