World champions France were unable to confirm their place in the Euro 2020 knockout stages as they were held to a surprise 1-1 draw by Hungary amid a raucous atmosphere in Budapest.

Hungary frustrated Portugal for 84 minutes before their defence was breached in their opening game and they gave France an almighty scare in Saturday's clash in front of a deafening home crowd, which saw them rewarded with a point.

After squandering a few big chances, France's run of 527 minutes without conceding was ended by Attila Fiola's goal just before half-time at the packed Puskas Arena.

Antoine Griezmann fired in a leveller with 66 minutes played, but Les Blues – who saw a late penalty appeal dismissed – could not find a winning goal and had to settle for a point that leaves them waiting on their place in the last 16.

Peter Gulacsi made a brilliant save after 14 minutes to keep out Griezmann from close range, but the offside flag likely would have denied the forward had he scored.

Kylian Mbappe then sent a free header spinning wide after being picked out by Lucas Digne and Karim Benzema miscued off target from an even bigger chance soon after.

Those missed opportunities came back to haunt France as Fiola was played in behind down the left after a one-two with Roland Sallai and coolly converted past Hugo Lloris.

The introduction of Ousmane Dembele around the hour mark gave France a spark and the Barcelona forward struck the outside of the post two minutes after coming on.

France's pressure told seven minutes later when Mbappe – spotted by a Lloris pass – teed up Griezmann with the help of a scuffed Willi Orban clearance for a simple finish.

Mbappe guided a Griezmann delivery into the side netting and Gulacsi was alert to Mbappe's next attempt as France, whose appeals for a stoppage-time spot-kick following some shirt grabbing at a set-piece were denied, failed to find a winner.