Dan Evans will face Greek second seed Stefanos Tsitsipas in the last four of the Dubai Tennis Championships.
The 29-year-old British number one beat Russian sixth seed Andrey Rublev 6-2 7-6 (11-9) to reach the fourth ATP semi-final of his career.
Tsitsipas, 21, set up a first encounter against Evans with a 4-6 6-4 6-4 victory over German Jan-Lennard Struff.
Serbia’s world number one Novak Djokovic will meet France’s Gael Monfils in Friday’s other semi-final.
Djokovic, 32, eased past Russia’s Karen Khachanov in their quarter-final, needing just one hour and six minutes to beat his 17th-ranked opponent 6-2 6-2.
“I’m feeling well and playing well,” said Djokovic, who has won his past 19 matches. “I love playing here in Dubai.”
World number nine Monfils beat compatriot Richard Gasquet 6-3 6-2 to set up a meeting with four-time champion Djokovic, who has not dropped a set in three quick victories.
Monfils, who has already won titles in Rotterdam and Montpellier this year, is also on an impressive winning streak of 12 matches.
However, he has lost to Djokovic in each of their 16 previous meetings.
“I will go with a new gameplan and see how it works. Sixteen times it was the wrong one so hopefully the 17th one won’t be,” Monfils said.
- Edmund & Watson reach Mexican Open quarter-finals
- Live scores, schedule and results
- Alerts: Get tennis news sent to your phone
Any semi-final is a great achievement – Evans
Evans’ confidence will be building after his most convincing display in Dubai to date.
He came from a set down to beat Italian fourth seed Fabio Fognini in the opening round then edged out France’s Pierre-Hugues Herbert following a third-set tie-break to reach the last eight.
Rublev proved an equally tough opponent, and unseeded world number 37 Evans said he was relieved to wrap up the victory in two sets.
“It was tough, I just hung in at the end and got through,” Evans added. “I just didn’t fancy playing another set; I think that’s what got me through.”
Evans faced constant pressure from the Russian, who started this season with an 11-match winning streak after lifting back-to-back trophies in Doha and Adelaide.
He saved five break points in the final game of the opening set before winning it on his third set point.
Evans was then broken while serving for victory at 5-4 and missed two set points in the tie-break before Rublev sent a return over the baseline to end it.
The Briton was competing in a third quarter-final of 2020 after Adelaide – where he lost to Rublev – and Rotterdam.
He now goes into relatively uncharted territory – his only previous ATP semi-finals were in Zagreb in 2014, Sydney in 2017 and Delray Beach last year.
“Semi-finals in any tournament on the ATP Tour is great,” Evans said. “It doesn’t matter who it’s against. Everyone is so good here.”