Pierre Mankowski's side had to survive the latter stages a man short, after left-back Samuel Umtiti was shown a second yellow card, but they held on and will contest the final against Uruguay on Saturday.
In the second semi-final, Iraq suffered the agony of a penalties loss to Uruguay, following a 1-1 draw after extra time.
Ali Adnan's superb first-half free-kick looked to have won it for the Middle Eastern side, but Gonzalo Bueno volleyed home with three minutes left.
There were no more goals so the shoot-out followed, which the South Americans won 7-6 after Saif Salman missed the crucial kick.
France have taken a strong squad to Turkey, with the likes of Juventus star Paul Pogba impressing as they pressed the Africans from the off.
It seemed a matter of time and France took the lead two minutes before the break when Bahebeck and Thauvin exchanged passes before the Lille midfielder slotted home.
The French were cruising but they saw their lead erased when, two minutes into the second half, Assifuah beat Alphonse Areola with a screamer off the post.
Young PSG keeper Areola suddenly found himself a busy man, making superb stops from Frank Acheampong and Michael Anaba.
Assifuah then missed a sitter as Ghana looked to be in the ascendance so, when Thauvin hit his second of the afternoon, it was very much against the run of play.
Thauvin was on the right wing but cut inside on to his favoured left before hammering a fine low finish past Antwi.
Ghana frantically tried to get another equaliser but Areola twice denied Assifuah. When Umtiti was dismissed with 10 minutes left it was a backs-against-the-wall effort from France, but thanks to some more good keeping from Areola they were able to move into their first ever U20 final.