Antoine Griezmann struck in the second half to rescue a point for France and denied Hungary one of the big European Championship shocks in front of a raucous 60,000 crowd in Budapest.
Attila Fiola fired Hungary into the lead just before the break as he held off the French defence to slot home after a one-two with Roland Sallai.
Fiola banged a pitchside reporter’s table and knocked items off before he and his team-mates embraced some of the fans in the front row asthe Puskas Arena went wild.
World champions France, who had dominated the first half before that goal, did come back in the second half.
First, substitute Ousmane Dembele hit the post – and then his Barcelona team-mate Griezmann equalised.
Mbappe ran onto Hugo Lloris’ huge kick down the field before laying it off – with the aid of a slight deflection – for Griezmann to slot home from eight yards.
Neither side could find a winner as the impressive Hungary held firm for a memorable draw.
France, now on four points, have probably done enough to reach the last 16 from Group F – while Hungary have kept their qualification hopes alive.
Germany, who lost to France in their opening match, face defending champions Portugal later in Munich.