Former world number one Daniil Medvedev became the first player since 1981 to reach a fifth consecutive ATP final after beating fellow Russian Karen Khachanov in the Miami semi-finals.
Medvedev, 27, was not at his very best but wore down his childhood friend Khachanov to win 7-6 (7-5) 3-6 6-3.
Medvedev, who emulated Ivan Lendl's run 42 years ago, will play Carlos Alcaraz or Jannik Sinner for the title.
Later, Czech Petra Kvitova beat Sorana Cirstea to reach the women's final.
Two-time Wimbledon champion Kvitova, 33, won 7-5 6-4 to end the Romanian world number 74's surprise run.