Saturday's other semi-final will pit Serbian world number one
Second seed Nadal was delighted to scrape through, having saved two break points in a gripping 10th game of the third set before sealing victory with a forehand drop shot to end an absorbing baseline rally.
Nalbandian, on the run, sent his attempted backhand return well wide and Nadal punched the air with his left fist in delight as the stadium court erupted to applaud both players for a riveting encounter lasting two hours, 39 minutes.
"It was a very difficult match for me," the second-seeded Spaniard said after racing into a 5-2 lead in the final set before losing the next two games.
"I started a little bit more nervous than usual against a tough player like David. He's beaten me a few times in the past so it was a very important victory for me.
"I am very excited to be back here," added left-hander Nadal, who has reached the semi-finals in his last seven attempts at Indian Wells.
Nadal will face Federer - who beat
"I am playing probably against the best (player) in history," said the Spaniard, who holds an 18-9 career advantage over the Swiss.
"And because I played probably the most important matches in my career against him and probably him against me, that's why it makes the match a little bit more special than the rest."
Federer agreed: "I have had some great matches with him all around the world by now. He has such great movement that this is a court that works well for him. I would expect a difficult match."
Nalbandian, whose last victory over Nadal came at the 2007 Masters Series event in Paris, broke the Spaniard in the 10th game of the match when he hit a searing forehand winner down the line to take the opening set.
It was the first set Nadal had dropped in the tournament, having breezed through his first three matches for the loss of just 14 games at the hardcourt venue.
The second set went with serve until Nalbandian was broken in the 11th game after netting an attempted backhand drop shot to trail 30-40 and then double-faulting. Nadal comfortably held serve to level the match.
The Spaniard seized control in the third set, breaking the Argentinian in the first and seventh games to lead 5-2.
Nadal was then broken while serving for the match in the eighth, squandered a match point in the ninth and finally sealed victory on his second opportunity after an absorbing 10th game.
