Rafael Nadal avoided becoming the latest victim of an Australian Open upset with a battling four-set win over Grigor Dimitrov.
With a severe blister on his racquet hand, the world number one saved three set points in the third set to win 3-6 7-6 (7-3) 7-6 (9-7) 6-2.
"I was lucky," said Nadal. "He missed an easy forehand and another one."
He will play four-time champion Roger Federer in Friday's semi-finals after the Swiss ended Andy Murray's hopes.
The Spaniard admitted the blister was affecting his game during the match, which lasted three hours and 37 minutes, "especially with the serve".
He added: "I will try and improve the hand tomorrow and then try to be ready for a tough match against Roger or Andy.
"The blister is much better, but if I am not playing with protection, it can be much worse."
Nadal, trying to win a 14th major title, had looked in trouble after losing the first set against Dimitrov.
Struggling to get anywhere against the Bulgarian 22nd seed's first serve, he finally made the breakthrough in game 11, only to hand it straight back in a shocking game of three double-faults.
The match would hinge on two tie-breaks, with the Spaniard prevailing in both, albeit in very different styles.
“Of course I shed a few tears, but it should hurt”
Nadal, 27, dominated the first, roaring in to pick up a Dimitrov drop shot and angle a one-handed backhand past the Bulgarian on set point, before celebrating wildly as the match seem to shift in his favour.
It was still far from comfortable for the 2009 champion, however.
A 4-2 lead was squandered in the third set when he double-faulted once again, and a series of uncharacteristic forehand errors - one a wildly framed drive volley - offered Dimitrov three chances to take the set.
The 22-year-old Bulgarian, playing in his first Grand Slam quarter-final, snatched at the first two chances, going for a huge return at 6-5 and missing a forehand into the corner in the tie-break, before Nadal saved the third with a sharp, angled volley.
One set wonder
Dimitrov has taken a set off Nadal in each of four matches he has played against the Spaniard, but he has never managed to beat him
A net cord then helped out Nadal as he won three points in a row to clinch the third set, and at two sets to one down after nearly three hours, Dimitrov's resistance ebbed away.
Two breaks in the decider were enough for Nadal to see out the victory, which he sealed when Dimitrov, playing in his first Grand Slam quarter-final, blazed a forehand wide on the fourth match point.
"I'm a bit shattered," said Dimitrov. "It's tough losing that match. I came out expecting nothing less than to win.
"Of course I shed a few tears, but it should hurt. And it does hurt.
"All the credit to Rafa. I think he played a great match. His physicality came over towards the end of the match. He's not one of the best, I think he's the best player right now."