In-form Victoria Azarenka has battled past an ailing but determined second seed Angelique Kerber 6-2 7-5 to set up a Miami Open final showdown against Svetlana Kuznetsova.
The 13th-seeded Belarusian gained revenge for a quarter-final loss to the German at the Australian Open, her only defeat of the season.
However she had to fight tooth and nail to earn it in a 94-minute tussle.
Kerber, who had her upper left leg covered in heavy strapping, looked dead and buried on several occasions in the second set but was able to stay alive with a gutsy break when Azarenka served for the match at 5-4.
Parity was brief, though, as Kerber immediately handed back the break and Azarenka wasted no opportunity to seal the deal and move one win from a third Miami title and second straight tournament triumph.
“I am very happy I stayed really strong in the end and actually started really well,” Azarenka, who beat Serena Williams to claim the Indian Wells title on March 20, said.
“I started to dictate and I think the beginning was really important,” she added.
“She’s such a fighter and an amazing player. I’m glad I kept pushing and kept trying to break her rhythm. Glad I stayed really strong.
“For me it was really painful to watch my match from the Australian Open and I’m really glad that I corrected my errors there and improved my serve.”
As well as avenging the Melbourne defeat, Azarenka improved to 7-1 in head-to-head meetings against the German and took her 2016 record to an impressive 21-1.
Next up for the 26-year-old is Kuznetsova in the final, after the Russian held off a strong challenge from Switzerland’s Timea Bacsinszky 7-5 6-3 in searing afternoon heat.
The 15th-seed relied on a never-say-die attitude and a powerful baseline game as she improved her career record to 3-0 against the Swiss in just under two hours on court.