Roger Federer continued his stunning start to 2017 by reaching the Miami Open 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).
Berdych double-faulted on Federer’s second match point to gift victory to the 18-time Grand Slam champion.
In the women’s draw, former world number one Caroline Wozniacki reached the final by beating Karolina Pliskova.
The Dane, ranked 14th in the world, dropped a gruelling 62-minute opening set against the Czech second seed before recovering to win 5-7 6-1 6-1.
Australia’s Nick Kyrgios, who is seeded 12th, meets Germany’s Alexander Zverev in the fourth men’s quarter-final later on Thursday.
The winner will play Federer, who has now won 17 of his 18 matches this year, in the last four.
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.