Germany’s Alexander Zverev eased past Croatia’s Borna Coric in straight sets to reach the Miami Open semi-finals.
The world number five, 20, overpowered the 21-year-old to win 6-4 6-4 and move into his third Masters 1000 final.
Zverev will now play Pablo Carreno Busta after the Spaniard beat Kevin Anderson in a thrilling quarter-final.
The 16th seed, 26, converted his third match point to win 6-4 5-7 7-6 (8-6) against the US Open finalist, 31, in a match lasting two hours and 42 minutes.
Zverev has already won two Masters 1000 titles – the highest-tier tournaments on the men’s tour after Grand Slams and the ATP Finals – in Rome and Montreal last year.
He is bidding to become the first player other than Roger Federer, Rafael Nadal, Novak Djokovic and Andy Murray to win a third since they were introduced in 2009.
Sunday’s final will be his first meeting with Carreno Busta, who had dropped just 12 games in three his matches before facing Anderson.
“I think he’s playing very well right now. He played well in Indian Wells, and is playing well here,” said Zverev.
“It doesn’t get any easier, but it’s a Masters. We know it’s not going to get easier, and I’m looking forward to it.”
Anderson was close to completing a comeback from a set down but Carreno Busta rallied in the tie-break to stave off a match point before going on to win.
Juan Martin del Potro – who claimed his maiden Masters 1000 title at Indian Wells earlier this month – meets John Isner in Friday’s other semi-final.