Robredo beat top-seeded Stanislas Wawrinka of Switzerland 1-6, 6-3, 6-2. Anderson, seeded second, downed third-seeded Martin Klizan of Slovakia 2-6, 6-4, 6-2.
This will be Robredo's first final since winning on outdoor clay in Chile two years ago. He will be going for his 11th career title.
"Stan was playing very well and fast during the first set," he said. "I continued fighting and it went better during the second set as well as in the third. I'm very happy to be in the final again here, 12 years after my first appearance in Casablanca."
Anderson has two career titles, both on outdoor hard courts. His previous title was last year at Delray Beach, Fla. He has never played Robredo.
"Tommy's been around for so long. I was watching him on TV growing up," Anderson said. "He's obviously a very experienced clay-court player and has had some terrific wins. I'm going to have to play very well."
Robredo improved to 5-1 against Wawrinka, having won all three of their matches on clay. This was their first match since 2008.
Wawrinka, the 2010 champion, broke Robredo twice and did not face a break point in the first set. But Robredo broke Wawrinka twice in the second to open a 5-3 lead and closed the set on serve after saving a break point.
They swapped breaks at the start of the third set before Robredo won the next four games to take a commanding lead. Wawrinka champion, finally held serve, but Robredo sealed victory on serve in the next game.
Anderson had to regroup after losing the first set, saving five break points in the second. He opened a 4-0 lead in the third set before closing the match on serve.