Johanna Konta defeated seven-time Grand Slam champion Venus Williams 6-4 7-5 to become the first British woman to reach the Miami Open final.
The 25-year-old will face world number 14 Dane Caroline Wozniacki, who overcame Czech second seed Karolina Pliskova 5-7 6-1 6-1.
Konta said: "Caroline's one of the best athletes on tour, so I know I am going to be running for a lot of balls.
"I'm looking forward to it, it is going to be a battle and I will try my best."
Konta broke Williams twice in the first set as she moved into a 3-0 lead, before the 36-year-old American salvaged one of those breaks.
Williams struggled with her first serve and saved five break points early in the second set before breaking Konta to take a 3-1 lead.
But the British number one battled back to break Williams on three occasions on her way to sealing victory shortly after midnight local time.
Konta will reach a career-high world number seven ranking if she lifts the trophy on Saturday.
Earlier, Roger Federer continued his stunning start to 2017 by reaching the men's semi-finals with a dramatic win against Czech 10th seed Tomas Berdych.
The 35-year-old Swiss survived two match points in the deciding tie-break before winning 6-2 3-6 7-6 (8-6). Federer has now won 17 of his 18 matches this year.
He will now face Australia's Nick Kyrgios who defeated Germany's Alexander Zverev 6-4 6-7 (11-9) 6-3.
Federer, who claimed his first major for five years at the Australian Open in January, served for the match at 5-3 in the deciding set, only for Berdych to break to love and go on to force a deciding tie-break.
However, he choked at the crucial moment as his losing streak against Federer - which goes back to March 2013 - was extended to a seventh match.
Federer's progression means a meeting with long-time rival Rafael Nadal in Sunday's final remains a possibility.
Spain's 14-time Grand Slam champion Nadal, who lost to Federer in Melbourne, recorded a 6-2 6-3 win over American Jack Sock to reach the last four.
He faces Italian Fabio Fognini, who became the first unseeded player in 10 years to make the semi-finals by beating Kei Nishikori.