Rafael Nadal beat Roger Federer 6-4 6-2 as he continued his impressive comeback from a knee injury by reaching the Indian Wells semi-finals in California.
Hampered by a back problem, Federer saved a break point but Nadal broke to move 4-3 ahead as he won the first set.
Federer broke Nadal for the first time in the second set but his performance was littered with unforced errors.
"After seven months away, I am happy to be in the semi-finals," said Nadal, who faces Tomas Berdych in the last four.
"Two weeks ago I didn't know if I can be here, and now I am in the semi-finals. I have a lot of positive energy.
"My movement was much better and I had a good feeling on my forehand."
Asked about his back issue, Federer said: "I mean, I could play. I'm happy to be out there and able to compete, but it's obviously a small issue and that doesn't work against guys like Rafa, obviously."
Federer added that he is not surprised by the form being shown by Nadal, who won two out of three tournaments on clay after seven months out.
The Swiss former world number one said: "He's not going to come back if he's not well. I expected him to tear through the clay. I expected him to be tough here, which he shows to be.
"He hasn't played for some time on hard court. I don't know if it's careful or if it's just getting used to it again. It's totally normal."
Nadal now meets Berdych after the world number six picked up a 6-4 6-4 victory over Kevin Anderson.
Maria Sharapova set up a semi-final meeting with fellow Russian Maria Kirilenko when she beat Sara Errani 7-6 (8-6) 6-2.
Caroline Wozniacki faces fourth seed Angelique Kerber in the other semi-final after the pair received walkovers when Victoria Azarenka and Sam Stosur both withdrew from their respective quarter-finals.