France and Portugal are both through to the Euro 2020 last-16 after a dramatic 90 minutes in Budapest and Munich, in which the four teams switched places in the group a handful of times.
Portugal took a lead from a Cristiano Ronaldo penalty, following Hugo Lloris clattering Danilo while trying to punch out. Soon after, Karim Benzema equalised from the spot himself, for his first goal at the tournament.
MATCH REPORT France 2-2 Portugal
Benzema struck France into the lead early in the second half, beating the offside trap to slot in his second. Ronaldo dragged Portugal back to 2-2 on the hour mark, after Jules Kounde gave away a penalty.
The result confirmed France as group winners with Portugal third. Germany's 2-2 draw in Munich with Hungary secured their place second in the group, drawing England at Wembley next Tuesday.
Hugo Lloris: 5
Let himself down early with a major boob in flattening Danilo and went the wrong way for both penalties. Harsh to judge a keeper on two moments facing Cristiano Ronaldo from 12 yards but Lloris didn't have much else to do to redeem himself.
Jules Kounde: 6
Looked assured in defence and overlapped on the right-wing excellently like he was a natural right-back. Let himself down with the penalty and showed his tender age, however, in the second half.
Raphael Varane: 7
When does he not look imperious? The Real Madrid defender didn't do too much wrong all game but equally wasn't tested by Diogo Jota making darting runs perhaps as much as he'd have thought.
Presnel Kimpembe: 7
Looked confident at centre-back, before turning his hand at playing full-back. He was good there too.
Lucas Hernandez: 6
First-choice left-back reinstated for this one, Lucas didn't come out for the second half after receiving a yellow card in the first. Did little else of note but perhaps should have kept a closer eye on Bernardo Silva, who ran rampant in the first 45 minutes.
Corentin Tolisso: 7
Adrian Rabiot's replacement was great in the "Blaise Matuidi role", offering himself in attack, keeping width when necessary and tracking back for his team. Has done enough to warrant a start in the last-16.
N'Golo Kante: 7
One of his quieter games, the Chelsea midfielder wasn't quite as omnipresent as you'd expect. While he'd probably have been expecting to keep Bruno Fernandes on a leash, his job was considerably more complicated trying to chase Renato Sanches from box to box.
Paul Pogba: 7
Dictated the midfield with the same confidence as you'd expect but didn't have the impact that he had against Germany. Getting nutmegged on a Portugal counter was a minor low-point on an otherwise good evening.
Karim Benzema: 9
His best international performance since the 2014 World Cup. Benzema dragged the Portuguese defenders deep, equalised with his penalty and executed his run to perfection for his second. Showed the star quality that made Didier Deschamps recall him this summer.
Antoine Griezmann: 7
Started strongly, wandering around the frontline and evening getting back to complete crunching tackles. The Barcelona forward felt like a spare part in the frontline at times, however, with Benzema and Mbappe the more deadly.
Kylian Mbappe: 7
Even when he's not doing much, you can't take your eyes off him. Mbappe won the penalty early and toiled for Les Bleus, pulling Nelson Semedo out of position and trying to create space for Benzema. OK, he didn't score - but he'll still be happy with the work he put in.
Lucas Digne: 6
Only played ten minutes before pulling a muscle and heading off. Disappointing for the Everton man to be out for the rest of the tournament.
Kingsley Coman: 6
Offered pace in the second half to stretch the Portuguese backline but didn't do much else of note.
Adrian Rabiot: 7
Looked comfortable in possession ahead of Pogba and recycled the ball well on the edge of the Portugal box.
Moussa Sissoko: 6
Didn't have much of an impact in the game, as Didier Deschamps gave a Euro 2016 his first minutes at the 2020 competition.
Rui Patricio: 7
A solid enough game from the Wolves keeper with plenty of big saves to keep Portugal in the match. Ignoring Pepe's advice to dive left for Benzema's pen though? Nope, you're losing a point for that one, Rui.
Nelson Semedo: 6
Great going forward in the early stages, Semedo was somewhat unlucky to be penalised for a standard bodycheck on Kylian Mbappe for France's penalty. A dark cloud on anotherwise decent performance.
Ruben Dias: 7
Kept Kylian Mbappe quiet - and that's no mean feat. Pinpointing exactly what the Manchester City titan did fantastically is difficult but the fact you didn't notice him for most of the game was probably a good side.
Threw himself into everything, as usual. The bad cop to Dias's more controlled presence, Pepe was as reliable as ever and didn't make any deadly mistakes up against Benzema. The second goal, by the way, was the fault of a midblock offside trap, rather than an individual.
Raphael Guerreiro: 6
Offered a good overlap to Diogo Jota but defensively didn't have too much to do, given how France basically didn't attack with a right wing.
Renato Sanches: 8
Electric in the first-half: how did he flop at Swansea, again? 2016's Golden Boy was dynamic in his thrust forward and a few times, played lovely spraying balls out to Bernardo Silva. Quietened down as the match livened up but ran Kante ragged for 45 minutes.
Shielded nicely. You get the feeling he's the first name on the teamsheet for his manager - even above Ronaldo - thanks to his metronomic defensive screening. Nothing spectacular tonight but that's just how Fernando Santos likes it.
Joao Moutinho: 8
The most capped player at the tournament showed why he was included with an ice-cool, dictating role in the centre of the park for Portugal. He's not got the legs he once did but played an excellent no.8 role for the Portuguese, controlling the tempo.
Bernardo Silva: 7
Superb early on, the Man City man looked most likely to create the defence-splitting pass. Maybe we're judging him by his Premier League standards but it would be nice to see him cut in a little more for his country and pick up the half-space position to dictate more. He's certainly capable.
Cristiano Ronaldo: 9
Tripped over his own feet a couple of times but always looked a threat aerially. Most importantly, he was there to dispatch the two penalties. He's now leading the scoring at Euro 2020 - and he was in the Group of Death. Not bad for the 36-year-old.
Diogo Jota: 6
Has come under fire a lot this summer for his aimless runs and poor aimless output. He was virtually anonymous for swathes of the game but worked hard off the ball.
Bruno Fernandes: 5
Lucky not to have conceded a penalty with a late lunge in his own area on Kingsley Coman. Santos was right not to use the Manchester United no.10 from the start.
Diogo Dalot: 6
Brought on to freshen things up, he made a few runs but did little of note.
Ruben Neves: 6
Replacing Wolves colleague Moutinho, Neves kept Portugal ticking over when they perhaps could've gone for a little more ambition. Had little to do, ultimately.
Joao Paulinha: 7
Nutmegged Paul Pogba and injected a little energy into Portugal's midfield in the second half.
Sergio Oliveira: 6
Not given much of a leash to show his talents, as Santos let him on for two minutes plus stoppages.
Subscribe to FourFourTwo today and get a free Euro 96 shirt!
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.