Petra Kvitova ended the run of qualifier Jessica Pegula to set up a 2018 final rematch against Garbine Muguruza at the Qatar Open.
Kvitova saw off Pegula in straight sets, triumphing 6-4 6-4, meaning she will be involved in the final of the tournament for a third time in four years.
Having twice let slip breaks in the opener, the 2020 runner up edged ahead again at 5-4 before serving out for a 1-0 lead.
Pegula appeared set to draw level when she raced 3-0 ahead in the next, only to be pegged back by Kvitova, who hit 26 winners and the same number of unforced errors. Victory was eventually sealed after one hour and 18 minutes on court.
The two-time Wimbledon champion secured the trophy in Doha three years ago by beating Muguruza, who did not even have to hit a ball to progress on Friday after opponent Victoria Azarenka withdrew from their semi-final due to a back injury.
That title showdown in 2018 went the distance, Kvitova rallying after losing the opening set to eventually prevail.
"I think it's going to be a tough match," Muguruza said, according to the WTA Tour's official website.
"We played here in another final three years ago, so just looking forward to playing that match and hopefully getting the trophy."
The Spaniard has been in impressive form this week, ending Aryna Sabalenka's hopes of defending her crown in the last 16 before thrashing Maria Sakkari in a lopsided quarter-final.
Meanwhile, in Friday's action at the Lyon Open, second seed Fiona Ferro rallied from a set down to beat fellow Frenchwoman Clara Burel and reach the semi-finals.
Ferro's 2-6 6-1 6-3 triumph means she is certain to break into the top 40 in the world for the first time in her career.
The only other seed left in the draw is Paula Badosa, the Spaniard knocking out Kristina Mladenovic. Her reward is a last-four clash with qualifier Clara Tauson, conqueror of Camila Giorgi in straight sets.