Gasquet, who missed Wimbledon because of a back injury, beat Kazakhstan's Yuri Schukin 6-3, 6-4, taking just 90 minutes to beat an opponent who was playing his first semi-final.
Almagro took just over two hours to defeat compatriot Daniel Gimeno-Traver with 7-6 (9/7), 3-6, 6-3.
Almagro is the first Spanish player to reach the final since Feliciano Lopez, who lost to Gasquet four years ago.
Both finalists will be fighting for their seventh title on the ATP circuit.
Almagro last lifted a trophy at Sweden's Bastad two weeks ago, while the Frenchman took one at Nice just before Roland Garros.