Donna Vekic and Petra Kvitova win two matches in a day to reach German Open final
Vekic had first beaten lucky loser Elina Avanesyan in straight sets in their quarter-final on Saturday morning after play was cancelled due to heavy rain on Friday.
Armed with her thundering forehand, the world number 23 bagged the first set courtesy of an early break and then reeled in the sixth seed after Sakkari took a quick 2-0 lead in the second to force a tiebreak.
Vekic made it two wins from her Saturday matches on her fourth match point with another forehand winner flying past her opponent, who also had to play twice in a day, having earlier beaten Marketa Vondrousova in her last-eight match.
Sakkari has now lost all five of her semi-finals this season.
Vekic will now take on 33-year-old Petra Kvitova who, prior to beating Ekaterina Alexandrova (28), had also beaten Caroline Garcia (29) of France for her first top-10 win on grass since defeating Maria Sharapova in the 2011 Wimbledon final.
She needed just one break in each set to seal victory with an ace on her second match point to snap Alexandrova's winning run with the Russian having won the title in 's-Hertogenbosch last week.
Kvitova will bid for a second title of the season after winning in Miami.