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 when he lost his serve in the second game to fall 2-0 behind.
The French Open champion broke straight back and again for a 4-3 lead before closing out the first set and he turned the screw in the second to secure a comfortable third win in three matches against the big-serving world number 13.
"I am very happy to be in the final again," Nadal said in an interview with Spanish television broadcaster TVE.
"Whatever happens tomorrow it has been a great tournament for me and to reach six finals out of six since I returned from injury could hardly be better," he added.
Almagro, who reached the semi-finals in 2006 and 2011, improved his head-to-head record against eighth-seeded German Philipp Kohlschreiber to five wins and three defeats with a similarly clinical performance.
The 27-year-old, bidding for a 13th career title, did not face a single break point and converted four of his seven opportunities to seal a 6-2 6-1 victory in just over 50 minutes.
"I know that Nico is playing at a very high level and has had a fantastic week," Nadal said.
"I will try to play aggressively and dominate the points although it will be very hard against a player like him."
It was a relief for organisers to get both semi-finals out of the way after the rain that has fallen throughout the week in the Catalan capital delayed the start of play.
Nadal is looking to bounce back from his defeat by Serbian world number one Novak Djokovic in Sunday's Monte Carlo Masters final.
The 26-year-old Majorcan, who like Raonic had to play twice on Friday because of the rain delays, extended his winning streak in Barcelona to 38 matches, his only defeat coming against compatriot Alex Corretja, now Spain's Davis Cup captain, in the second round in 2003.
- Sports & Recreation