World number six Trump trailed 8-5 in his best-of-17 quarter-final in Llandudno but roared back to 8-8 to set up a decider.
It seemed his charge would end there as Williams compiled a break of 46 but the Welshman overstretched and missed a relatively straightforward red and Trump seized the opportunity.
"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."
Trump will play Ronnie O'Sullivan in the last four.
O'Sullivan into final four
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.
Allen avoids Wilson fightback
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.
Wednesday's Tour Championship results
Afternoon session
- Mark Allen 6-2 Kyren Wilson
- Judd Trump 9-8 Mark Williams
Evening session
- Mark Allen 9-7 Kyren Wilson
- Ronnie O'Sullivan 9-3 Stuart Bingham
Related snooker content