The world number 72 beat the first-time clay-court finalist 7-6(6) 4-6 6-3 in a hard-fought encounter at the Grand Prix Hassan II on Sunday.
Both players overcame sluggish starts to win their last-four matches in three sets on Saturday, and it was another tough encounter for the pair a day later with three gruelling sets.
It was the first match-up for the two players with Anderson appearing in his second final of the season, and he could not maintain his intensity in the third set after levelling the match with a crucial break in the second.
The Spaniard had taken the first set 8-6 on the tie-break with nothing between the two players as he stamped his authority on proceedings before finding just enough to beat his opponent in the third.
Robredo claimed his 10th clay-court crown and 11th title overall, with his last victory coming in 2011 in Santiago.
The former world number five was sidelined for five months with a leg injury last season and fell as far as number 471 in the world rankings.