Chasing a fourth title of the year after returning from a seven-month injury layoff in February, Nadal recovered from a slow start on the clay at the Real Club de Tenis to beat Benoit Paire 7-6 6-2 in their delayed third-round match. The world number five had been set to meet the 13th-seeded Frenchman on Thursday before rain washed out the day's play.
After a few hours rest, Nadal returned to centre court to dispatch fellow Spaniard Albert Ramos 6-3 6-0 for his 37th consecutive Barcelona Open win. It was the first time he had played two matches in one day since the Monte Carlo Masters in 2009.
"I played much better than this morning," Nadal said in an interview with Spanish television broadcaster TVE. Making the semi-finals is great news and I am pleased to get through a difficult day like today," he said.
To the relief of organisers, the rain forecast for the Catalan capital held off, allowing Thursday's postponed matches to be completed before the quarter-finals were played.
Ramos, the world number 64, surprised Japanese sixth seed Kei Nishikori 6-4 7-6 in their delayed third-round match before 2004 champion Robredo came back from a set down to upset third-seeded Czech Tomas Berdych 3-6 7-6 6-3.
Raonic, the world number 13, beat Latvian qualifier Ernests Gulbis 6-2 7-6 before battling back from a set down against Robredo to win 6-7 6-3 7-6.
Germany's Philipp Kohlschreiber became the first player to reach the last four when his quarter-final opponent, Thomaz Bellucci of Brazil, pulled out of the tournament with an abdominal injury.
Kohlschreiber will play Nicolas Almagro for a place in Sunday's final after the Spanish fourth seed beat Argentine Juan Monaco, the seventh seed, 6-3 7-5.
Paire, who turns 24 next month and had never played Nadal before, began aggressively and broke the French Open champion's serve in the opening game. Nadal had the usual strapping on his troublesome left knee but showed no sign of discomfort, breaking back before taking the tiebreak 7-2. Further breaks in the fifth and seventh games of the second set secured victory for the 26-year-old Majorcan as he seeks to bounce back from his defeat by Serbia's world number one Novak Djokovic in Sunday's Monte Carlo Masters final.
Ramos also played some aggressive shots in the opening set against Nadal but faded badly in the second and did not manage a single break point, while Nadal converted four of his five chances.
Top seed and world number four David Ferrer, another Spaniard whom Nadal beat in the final in 2008, 2009, 2011 and 2012, lost to Russian qualifier Dmitry Tursunov in the second round on Wednesday.
ATP Barcelona results
2-Rafael Nadal (Spain) beat Albert Ramos (Spain) 6-3 6-0
5-Milos Raonic (Canada) beat Tommy Robredo (Spain) 6-7(5) 6-3 7-6(2)
8-Philipp Kohlschreiber (Germany) beat 16-Thomaz Bellucci (Brazil) WO
4-Nicolas Almagro (Spain) beat 7-Juan Monaco (Argentina) 6-3 7-5
Tommy Robredo (Spain) beat 3-Tomas Berdych (Czech Republic) 3-6 7-6(5) 6-3
5-Milos Raonic (Canada) beat Ernests Gulbis (Latvia) 6-2 7-6(6)
Albert Ramos (Spain) beat 6-Kei Nishikori (Japan) 6-4 7-6(4)
2-Rafa Nadal (Spain) beat 13-Benoit Paire (France) 7-6(2) 6-2
8-Philipp Kohlschreiber (Germany) beat 11-Martin Klizan (Slovakia) 1-6 7-6(2) 7-6(5)
ATP Bucharest results
5-Florian Mayer (Germany) beat Victor Hanescu (Romania) 6-3 7-6(3)
Guillermo Garcia-Lopez (Spain) beat 1-Janko Tipsarevic (Serbia) 6-3 3-6 6-4
Lukas Rosol (Czech Republic) beat 8-Viktor Troicki (Serbia) 6-3 6-1
2-Gilles Simon (France) beat Daniel Brands (Germany) 6-1 7-5