World number 56 Wilson had never previously been beyond the quarter-finals of a ranking event, but will now battle for the trophy and £85,000 top prize on Sunday against Mark Selby, a 6-3 winner over Kurt Maflin.
Wallsend's 29-year-old Wilson had already knocked out the likes of Ricky Walden and Barry Hawkins in Beijing, but his victory over defending champion Ding must count as one of the shocks of the season so far.
Ding led 3-1 with top breaks of 64 and 58 before Wilson won four frames in a row with top runs of 50, 60, 68 and 70. Ding battled back to 5-5 with 97 and 72, but Wilson made a superb 72 in the decider and sealed victory after his opponent failed to get the snookers he needed.
"I got a bit scared towards the end because Ding got a few snookers, but in the end I was pleased to win," said Wilson, who won the World Under-21 title in 2004, and subsequently spent several years away from snooker working as a taxi driver, before returning to the pro tour in 2013.
"I played better today than I had done all week. I missed a couple of chances, but I held myself together well when he came back from 5-3 to 5-5. Before the match I decided that if I got chances I was going to go for them. I wanted to go for my shots, and it worked out well in the end. My safety was good as well.
"I've no idea where my form has come from this week. I'm just really happy to reach the final and hopefully I'll enjoy it tomorrow. "
Selby's win over Maflin saw him remain on course for his second ranking title of 2015. He won the German Masters in February and victory over Wilson would make him the only player to win two ranking titles during the 2014/15 season.
A high quality contest today saw the first six frames shared, Selby making breaks of 64, 74 and 131 while Norway-based Maflin knocked in 129, 74 and 113. Leicester's Selby then took a scrappy seventh frame on the final black, and that proved the turning point as he added the next two with runs of 106 and 56.
"It was a good match all the way through," said World Champion Selby, who has recovered from neck pain he experienced earlier in the week. "Kurt took his chances but in the end I got the bit of run of the ball you need. That's definitely the best I have played this week."
Ball by ball scoring and results from tournaments