Antoine Griezmann spared France's blushes as they were forced to come from behind and grab a 1-1 draw with Hungary in Euro 2020 Group F on Saturday.
Attila Fiola had given Hungary a shock lead in first-half stoppage-time at a packed Puskas Arena in Budapest after the French had dominated in the heat.
But Griezmann hit back midway through the second half to give the world champions top spot in the group for now pending holders Portugal facing Joachim Loew's Germany later.
"It was a tough game given the fans. We are out of the habit of playing in a full stadium. We couldn't hear each other," Griezmann told beIN Sports.
A win would have put France into the last 16 with a game to spare, but instead they were given a wake-up call having looked assured in beating Germany 1-0 in their opener. Hungary now also have a chance of qualifying despite losing 3-0 to the Portuguese first up.
"We achieved a great result with great teamwork. I am proud of the team and the fans. One of the best days of my life," said Fiola.
Impressive Hungary
France coach Didier Deschamps swapped Bayern Munich left back Lucas Hernandez for Everton's Lucas Digne in his only change. Hungary brought in right wing back Loic Nego, who was born in Paris and played in France youth sides before becoming Hungarian.
Hungary's Attila Fiola (R) celebrates scoring. Photo: Robert Michael/dpa.
Hungary impressed initially before wilting against Portugal and they were again loudly roared on by the only capacity crowd so far allowed at these Euros due to the coronavirus.
The frenetic opening thanks to the fans made things uncomfortable for the French but they eventually settled amid intense temperatures.
Karim Benzema forced Hungary goalkeeper Peter Gulacsi into a decent save before Kylian Mbappe headed wide after a teasing cross from Digne.
A beautiful flick from Mbappe after a superb ball from Griezmann then set up Benzema but he scuffed wide.
More Mbappe skills were on show as he wriggled free in the box moments later only to shoot wide.
France's Paul Pogba (L) shoots on goal during the match. Photo: Robert Michael/dpa.
A fine move
It seemed only a matter of time with Hungary also reeling from captain Adam Szalai being substituted after feeling dizzy.
Then completely out of the blue, Hungary produced a fine move and left wing back Fiola was allowed to stride into the box and finish calmly inside the near post.
It sent the stadium into raptures and was Hungary's first real chance, stunning the French whose defence seemed to be mentally already in the changing room.
France continued to hog possession after the break but lacked bite so Deschamps brought on the speedy Ousmane Dembele for Adrien Rabiot.
The Barcelona winger, who later went off with a twinge, soon rattled the post.
Hungary then failed to defend a long ball on 66 minutes and Mbappe was allowed to cross, with Willi Orban only diverting the ball to Griezmann who could not miss. He is now the joint-third top scorer at Euro finals with seven.
The hosts then shone for 10 minutes but failed to fashion a genuine opening. At the other end, Mbappe tested Gulacsi before the whistle.