Barry Hawkins beat an out-of-sorts Mark Selby 6-3 to reach the Masters semi-finals at Alexandra Palace, while Joe Perry eased to a 6-1 win against Ding Junhui.

Neither Hawkins nor Selby were at their best in a nervy quarter-final but the Essex left-hander held himself together to progress.

"I battled well and I'm pleased with that result," Hawkins told BBC Two.

"If he'd got off to a better start maybe he would have settled a bit better but the first frame went on so long."

Hawkins took the turgid 42-minute opener but an error allowed Selby to level at 1-1.

The Leicester man attempted an overly ambitious blue in the next and Hawkins cleared up, before taking the frame before the interval for a 3-1 lead.

Hawkins led by 62 in frame five but Selby dug deep for a vital clearance to give him a way back into the match - only for Hawkins to restore his two-frame cushion after Selby missed with the rest.

Hawkins broke down on 21 in frame seven, missing a simple black, and Selby cleared with 101 to come back within one frame.

As the quality rose, though, Hawkins took the next - he ran out of position on 49 but got over the line in style when he returned to the table.

He was unable to win the clinching frame in one visit as he made 48 but jawed a tricky last red down the cushion, knowing the black afterwards would have been frame and match ball, but he got another chance and cleared from brown to pink to close out victory.

"I drop that red in and I've got a shot on the black," said Hawkins, reflecting on a moment when the match could have slipped away. "I cued across it a little bit and soon as I cued it, I'd missed it."

Hawkins came into the match off the back of an impressive 6-1 win over Shaun Murphy in round one, but with a poor record against world number one Selby.

"I was quietly confident in my game, I played well against Shaun," he said.

"The last few times against Mark I've played him instead of playing the table, but today I managed to settle better and play the balls."

If Selby was not at his best, it was nothing compared to Ding Junhui's struggles as he lost 6-1 to Joe Perry in the evening session.

Perry soon moved into a 3-0 lead, the highest break to that point just 55 while Ding had made no more than 27 in any one visit.

The Chinese player had the chance to pull one back after an outrageous fluke in the next, playing safe off the pack and cannoning a loose red into the corner pocket - but immediately paid it back by knocking in the yellow while potting the blue, as Perry pushed on to a pre-interval sweep.

Ding returned with his highest break of the match to date - but it was only 31, and Perry responded to move within one frame of victory.

A 54 break helped Ding finally get on the board and stave off a whitewash, but Perry wrapped up the match with a 127 clearance in frame seven to set up a semi-final against Hawkins.