World champions France recovered from two goals down to beat Belgium 3-2 in a thrilling UEFA Nations League semifinal on Thursday with a last minute strike from Theo Hernandez, securing a place in Sunday's showpiece match against Spain.
- ESPN+ viewers' guide: LaLiga, Bundesliga, MLS, FA Cup, more
- Don't have ESPN? Get instant access
Belgium thought they had won the pulsating contest minutes before the game ended, but Romelu Lukaku's late effort was ruled out for offside by VAR.
Three minutes later, Lukaku doubled the lead with a superbly taken goal, turning sharply to loose his marker Lucas Hernandez, and then blasting a thunderous drive past Lloris from a tight angle.
The 2-0 scoreline at the interval was somewhat harsh on France, who had played some attractive football, with Kylian Mbappe and Karim Benzema linking up well with Antoine Griezmann in the three-pronged attack.
It was Benzema who brought France back into the game in the 62nd minute, brilliantly twisting and turning to find space to drill home a shot from the edge of the box after excellent work from Mbappe.
Mbappe, who had not scored in his last six internationals, then equalised with a penalty after German referee Daniel Siebert went to the pitchside monitor before ruling that Youri Tielemans had caught Griezmann's foot as he challenged him.
France were on top and searching for the winner but three minutes from the end of normal time, Lukaku looked to have won it for Belgium, steering home a cross from Carrasco, but the goal was ruled out by VAR for offside.
Paul Pogba then hit the top of the post with a curling free-kick before Les Bleus grabbed victory with a 90th minute strike.
Mbappe and Griezmann lined up down the right, the overlapping Benjamin Pavard fired in a low cross which an off-balance Toby Alderweireld could only get a slight touch on, diverting the ball to Hernandez who set himself before beating keeper Thibaut Courtois with a pinpoint low drive.
"We were unlucky in the first half. We sat back a little too much," said France coach Didier Deschamps.
"They had a good period for 20 minutes but after that we were not in danger and had a lot of chances," he added. "The result shows the character of the team. We were here to play the final and here we are."
Deschamps, however, added that France showed why they were still a force to be reckoned with after this year's shock loss to Switzerland in the Euro 2020 last 16.
"We confirmed what we did against Finland, against Belgium who are the best nation in Europe, in the world. We're still among the best teams."
Deschamps added that the game was one of the best in his time as France coach, which started in 2012.
"It's one of the best because of how it unfolded, because of the quality of our opponents," he explained. "Despite the adversity we had the pride and the character to turn it around. It is a great, great moment."
On Mbappe's performance, Deschamps said: "Kylian didn't have any doubts. He was determined after lacking efficiency at the Euros. Like I always said, the French team is better with than without Kylian Mbappe."
It was more disappointment, though, for Belgium's "golden generation," whose trophy-less history now begins to look cursed.
Belgium coach Roberto Martinez, whose side have struggled to live up to their billing as contenders in recent tournaments, felt the weight of expectation had taken its toll on the world's top-ranked team.
"It is the responsibility we feel to our fans and the way this generation wants to bring silverware in such a desperate manner," he said.
"In the second half, we were a little too emotional, maybe we were thinking a little too much about the final, about qualifying. We didn't do what we had to do. We let France come back."