Top seed Rafael Nadal had to battle from a set down against big-serving Croatian Ivo Karlovic to secure himself a semi-final date with Juan Martin del Potro at the BNP Paribas Open.
Karlovic, who missed much of last year through injury, clinched the opening break of serve of the match in game 11 en route to taking the first set 7-5 but the Spaniard showed why he is world number one by responding brilliantly.
The 24-year-old stormed back to take the second set 6-1 before Karlovic also found another gear in the third set and forced a tie-break, which Nadal edged to take the match 5-7 6-1 7-6 (9/7).
Nadal, who had been sidelined with a hamstring injury since the Australian Open, withstood 23 aces from the world number 239.
Karlovic saved two match points in the tie-break but sent a return wide on Nadal's third opportunity, much to the two-time champion's relief.
"You lose a set against Karlovic, and you are under pressure the rest of the games of the match," he said.
"I think I played a fantastic second set, returning better than ever.
"In the third, I didn't have chances. His serve was unstoppable. In the tie-break I was really nervous. I think I returned fantastic in the tie-break, but I didn't put one first serve on court, so I was really nervous.
"For sure, it is a very important victory for me. Being in the semi-finals another time here after one month outside competition is fantastic news for me."
Del Potro earlier progressed without hitting a ball as 25th seed Tommy Robredo had to withdraw before the match after straining his left adductor muscle during Wednesday's fourth-round win over Sam Querrey.
"After the match I knew that if something strange happens maybe I could play, but if not, for sure I will not play," the Spaniard said.
"We did an MRI [on Wednesday night], and we saw the results. Obviously the doctor here says not to play. We have been delaying it as much as possible because we were contacting our doctors in Spain to see what they feel about, and now the decision is done.
"Everyone is saying the same, so I am out of here and I am out of Miami, as well."
Like Del Potro, women's top seed Caroline Wozniacki did not have to complete her match in order to reach the semi-finals, as Victoria Azarenka retired with a hip injury.
The world number one broke the Azarenka serve in game two was 3-0 up in the first set when the eighth seed from Belarus signalled she could not continue.
Azarenka returned briefly after calling for the trainer and taking a medical timeout at 30-0 down in game three, allowing Wozniacki to clinch the game before calling it a day.
"At one point I felt really bad pain and there was no point in continuing. I knew I couldn't handle it," Azarenka said.
"I felt very good at the beginning of the match and was looking forward to playing Caroline. The first two games were really good and I had a great feeling going into today.
"But I took a ball on the run and slid a little bit, and that's when I felt the pain."
Wozniacki felt for her opponent, saying: "Victoria is one of my best friends on the tour and to see her in pain was not nice, for sure.
"I would have liked to win it in another way, but I'm through to the semi-finals and happy to be there."
Wozniacki will play Maria Sharapova in the last four after the 2006 champion battled to a three-set victory over China's Peng Shuai.
Sharapova, seeded 16, looked to be cruising into her first semi-final of the season when she moved 6-2 2-0 ahead but produced three double faults to allow Peng back into the match before prevailing 6-2 5-7 6-3.
"My level dropped in the second set so it was important to stay tough out there," said the Russian, who hit 15 more errors than her opponent.
"The match wasn't over until the last point so I just hung in there. I have nothing but great memories from this court - it has been a few years since I won here but I'd love to have that feeling again."