Garbine Muguruza squandered three match points as she was stunned by Daria Kasatkina in the semi-final of the Dubai Tennis Championships.

Muguruza came into the tournament on the back of an excellent performance at the Qatar Open, where she lost a thrilling final to Petra Kvitova.

But her hopes of a second successive final appearance were ended by world number 24 Kasatkina, who looked poised for defeat in the second set tie-break, only to frustrate Muguruza and then race away in the decider to a 3-6 7-6 (13-11) 6-1 win.

Kasatkina's heroics were something of a repeat of her last-16 performance, which saw her save two match points en route to defeating Johanna Konta.

After winning the opening set, a frenetic second that featured four breaks appeared poised to go the way of Wimbledon champion Muguruza, who saw off two Kasatkina set points in the tie-break, only to see the Russian hold firm and deny her at 8-7, 9-8 and 10-9.

The 20-year-old then needed just 30 minutes to wrap up the third as Muguruza never recovered, Kasatkina claiming her first win over the Spaniard in three attempts, having lost to her in a decisive tie-break in Brisbane last year.

Kasatkina, who will move into the world's top 20 regardless of what happens in the final, said: "The fighting spirit made the difference. I was just trying to fight for every ball because Garbine, she's playing unbelievable. She's very tough opponent. She's hitting so hard, playing so fast. I was just trying to do whatever I could."

The final will see Kasatkina attempt to win only her second WTA title against defending champion Elina Svitolina, who saw off former world number one Angelique Kerber 6-3 6-3, marking her fifth successive victory over the German.

"I'm very pleased with the performance," Svitolina said. "I was very happy with the way I played in the top moments."

On Kasatkina, she added: "She plays well, she had tough matches. It's definitely going to be a good final."

Meanwhile, at the Hungarian Open, top seed Dominika Cibulkova eased into the semi-finals with a 6-3 6-2 victory over Johanna Larsson. Mona Barthel is next for Cibulkova after her defeat of Ysaline Bonaventure.

Viktoria Kuzmova is also into the last four after beating Petra Martic.