The City midfielder was at his creative best in a dazzling first 45 minutes, twice proving the architect as Yannick Carrasco and Romelu Lukaku fired Roberto Martinez’s side into a 2-0 lead.
However, the world champions instigated a remarkable fightback with a Karim Benzema strike and Kylian Mbappe’s penalty drawing them level before Theo Hernandez fired home a dramatic 90th winner – three minutes after Lukaku had seen an effort ruled out by VAR.
It was a quite magnificent match with Didier Deschamps’ men claiming their place in Sunday’s final against Spain.
However, it had been advantage Belgium in a pulsating opening 45 minutes with De Bruyne at the heart of things.
CITY+ | SIGN UP TO ACCESS EXCLUSIVE CONTENT
Only a stupendous third minute save from France keeper Hugo Lloris stopped De Bruyne opening the scoring after he unleashed a third minute volley.
As so often, De Bruyne then turned provider and an inviting 36th minute KDB pass put in Yannick Carrasco on the left flank. There was still work to do but the Atletico Madrid man cut in from the flank before beating Lloris with a low drive.
It got even better for Belgium three minutes from the break.
De Bruyne threaded a neat ball into the path of Lukaku and the Chelsea striker navigated a neat turn before thumping a terrific shot past Lloris from close range.
However, France proved a team transformed after the break and, after a series of near misses, Karim Benzema’s 62nd minute effort got them up and running, the Real Madrid man swivelling and firing home from Kylian Mbappe’s pass.
Within seven minutes France were level. Mbappe coolly converted from the penalty spot after Antoine Griezmann was adjudged to have been brought down.
SUBSCRIBE TO THE OFFICIAL MAN CITY PODCAST
De Bruyne was then a whisker away before Lukaku did find the target three minutes from time – only for VAR to rule the effort out for offside.
And after Paul Pogba saw an 89th minute free-kick hit the bar, a remarkable match was settled by Hernandez’s first international goal after a sweeping French move.
While France will face Spain in Sunday’s showpiece, Belgium will tackle Italy earlier on in the third v fourth place play-off.