Mark Williams will face Ding Junhui in tomorrow's final of the Sanyuan Foods China Open after beating Ali Carter 6-4 in the semi-finals.

In a tense battle, Welshman Williams won the final two frames to finally shake off the challenge of Carter, who had led 3-1 before Williams took three in a row to turn the match around.

The first frame set the tone for an intriguing tussle between two well-matched players, as Carter got the best of a safety contest and made a break of 53 to put it out of reach for Williams.

Carter looked to be cruising in the second frame too, but a missed black early on handed Williams a chance.

The Welshman made only 24 but Carter gave him another shot before Williams missed the yellow, and this time Carter made no mistake.

Williams took his first frame thanks to a lucky shot, a misplayed safety that instead set him up for the final red and a shot at the black which he took.

However, he could not respond to Carter's break of 58 in the next as he fell 3-1 behind.

The two-time former world champion was struggling but began to find his range in the fifth frame, taking advantage of an error from Carter to cut the gap back to one frame.

And he then tied it up with a break of 66, the highest of the match so far, to make it 3-3.

A break of 62 helped Williams take a 4-3 lead before Carter responded to tie it once again at 4-4.

Williams looked to be cruising towards victory in the ninth frame until missing a black. However, Carter could not capitalise, and Williams had a break of 68 to win the 10th frame and wrap up victory.

Earlier, Ding knocked out Mark Allen who failed to find any rhythm as he went down 6-2 to the Chinese favourite.

Ding took an early 2-0 lead, with breaks of 60 and 67 enough to claim the opening frame before a slightly more difficult second.

Ding's break of 137 made the third a no-contest before Allen finally got on the board, winning the fourth frame thanks largely to a break of 67.

But Ding scrapped to victory in the next frame to go 5-1 up and should have sealed the match with Allen committing several sloppy fouls before Ding missed a critical red to let him back in.

However, a break of 125 sealed the match as Ding moved into the final.