The second-seeded Spaniard broke in the eighth game of the third set, when Blake over-hit a forehand, before serving out to seal victory in a contest lasting just over two hours.
Nadal, who clinched the final point with an ace, dropped to his knees in jubilation. "The thing is not beating James, the thing is being in the semifinal and beating two big players like (Jo-Wilfried) Tsonga and Blake," Nadal told reporters. "For me, those were two very important matches."
The Spaniard defeated 17th-seeded Frenchman Tsonga, the runner-up at the Australian Open in January, over three sets in the previous round.
The Spaniard fought back from 4-1 down to win a first set littered with unforced errors. He clawed his way back to 5-5, took the 11th game with a probing forehand that clipped the line and came from 0-40 down to serve out for the set.
Although ninth-seeded Blake levelled the match after breaking the left-hander in the second game of the second set, his opponent regained control in the third.
World number two Nadal, who beat Blake for the first time in four career meetings, next meets Australian Open champion Novak Djokovic after he beat Swiss Stanislas Wawrinka 7-6, 6-2 earlier in the day.
Third-seeded Djokovic, who lost to Nadal in last year's final, survived an erratic first set before raising his game to wrap up victory in two hours, five minutes on the Stadium Court.
Djokovic squandered a 5-3 lead in the opening set to trail 5-6 before forcing a tiebreak which he clinched 7-5. The relieved Serb sank to his knees after winning the set with a forehand volley and beat his chest several times in celebration.
"As you could see by the reaction, it was probably the most important point of the game," Djokovic said. "I'm a very emotional player on the court and I like to express my feelings."
The world number three tightened his grip in the second set, breaking the Swiss in the first and fourth games before serving out for victory.
Jankovic in semis
Third seed Jelena Jankovic reached the last four when American Lindsay Davenport retired from their quarter-final because of a back injury.
The 31-year-old Davenport, twice former champion at Indian Wells, summoned her trainer when trailing Serb Jankovic 4-1 before deciding to withdraw after losing the first set 6-2.
"My back was injured before I came here but I got it better, got it better and then this morning woke up and just couldn't move," Davenport told reporters. "It was pretty obvious to me after two games that I was pretty sore out there and it was quite hard to rotate.
Jankovic will face compatriot Ana Ivanovic in the semifinals. Ivanovic booked her place in the last four by brushing aside Russia's Vera Zvonareva 6-1, 6-4 earlier in the day.
The 20-year-old Ivanovic, bidding for her first WTA title of the year, outplayed her opponent in a baseline battle to seal victory in just over an hour.
World number two Ivanovic, who lost to Russian Maria Sharapova in the Australian Open final in January, broke Zvonareva in the second and fourth games to breeze through the opening set in 24 minutes.
Service breaks were exchanged early in the second set before the pony-tailed Serb again broke in the ninth game when Zvonareva hit a forehand wide.
Fourth-seeded Sharapova and fellow Russian Svetlana Kuznetsova, the second seed, will contest the other semifinal.