World number one Rafael Nadal reached the Sony Open semi-finals after recovering from a set down to beat 12th seed Milos Raonic.
Nadal, 27, needed two hours and 35 minutes to overcome the big-hitting Canadian in a 4-6 6-2 6-4 win in Miami.
The 13-time Grand Slam winner meets Tomas Berdych, who beat quarter-final opponent Alexandr Dolgopolov in straight sets, in the last four.
The world number seven, 28, overpowered his Ukrainian opponent 6-4 7-6 (7-3).
Nadal has won 62 singles titles in a glittering career, but is still looking for his maiden tournament victory in Miami.
And despite an early setback against Raonic, the three-time runner-up remains on course to lift the trophy for the first time.
Nadal double faulted in the 10th game to hand the opening set to his opponent, before responding to take a 4-0 lead in the second and then comfortably closing it out to level.
The Spaniard continued to improve as he started to show glimpses of his best form, with Raonic unable to react to several fine forehand passes.
Raonic saved a break point at the beginning of the third set, but his resistance broke in the seventh game as Nadal went on to seal his place in the last four.
There he will face Berdych, who is aiming to end a 16-match losing streak against Nadal.
The Czech took the opening set against Dolgopolov after a rain delay at 4-4, before the Ukrainian built a 5-3 lead in the second.
But Berdych, who is yet to drop a set at this year's tournament, rallied to see off the 25-year-old in a tie-break.
Defending champion Andy Murray was beaten 7-5 6-3 in his quarter-final by world number two Novak Djokovic on Wednesday.
The Serb now faces 20th seed Kei Nishikori of Japan, who beat Roger Federer 3-6 7-5 6-4 in their quarter-final.