Fourth seed Zverev, who had lost in the semi-finals at Roland Garros in each of the past three years, fought back to beat Ruud 2-6, 6-2, 6-4, 6-2 in a repeat of their last-four clash 12 months ago.
Zverev won just seven games when the pair met in the 2023 semis and a similar story was on the cards after Ruud cruised through the opening set.
But the German raised his game, reaching his first French Open final and keeping his hopes of a maiden Grand Slam title alive.
Zverev holds a career 5-4 winning record against Alcaraz, including a victory in their only previous Roland Garros meeting in the 2022 quarter-finals.
Alcaraz earlier battled past incoming world number one Jannik Sinner in five sets.
There will be two first-time finalists for the first year since Rafael Nadal defeated Mariano Puerta for the first of his 14 titles in 2005.
The 27-year-old Zverev's only previous major final appearance saw him blow a two-set lead to lose to Dominic Thiem at the 2020 US Open.