Nadal is chasing a sixth title in seven years in the Catalan capital and next meets unseeded Ivan Dodig after the Croatian beat Feliciano Lopez 6-4 2-6 6-4 to prevent an all-Spanish last four.
After a rain-delayed start, the top seed raced into a first-set lead with his brutal forehands helping secure two breaks of serve.
Nadal, whose electric yellow shirt contrasted sharply with the dull conditions, broke the seventh seed again early in the second, helped by a wonderful angled drop shot as the two exchanged blows at the net.
"To win 6-2 6-2 is a very positive result and was much better than I expected. I'm very pleased," Nadal said.
"I won in Monte Carlo last week and now to be in the semi-finals in Barcelona is super positive.
"I couldn't have started the clay season any better, now I have to keep on working."
Fourth seed David Ferrer is on course for another showdown with Nadal, the player he was beaten by in the Monte Carlo Masters final last weekend.
Ferrer sweept past Austria's Juergen Melzer 6-3 6-3.
In the day's last quarter-final eighth seed Nicolas Almagro ousted fellow Spaniard Juan Carlos Ferrero 6-3 6-3.
Almagro will break into the world's top 10 on Monday.