Support truly
independent journalism
France reached the semi-finals of Euro 2024 with a penalty-shootout victory over Portugal on Friday.
The heavyweight sides played out a 0-0 draw over 120 minutes in Hamburg, with the game improving as it went on after a dull start.
Still, neither team could produce a decisive moment, with Cristiano Ronaldo largely anonymous and Kylian Mbappe being replaced in extra time, having suffered some irritation with his protective mask.
Joao Felix missed for Portugal in the shootout to hand France the advantage, and Theo Hernandez capitalised to send Les Bleus into the final four – where Spain await on Tuesday (9 July).
But how did each player perform? Here are The Independent’s ratings:
France (4-3-3)
Mike Maignan - 7: Sloppy mistake allowed Portugal a corner in the first half, but he produced some great saves later on. Got down very quickly to deny Fernandes on the hour mark, and a few minutes later, he kept out Palhina from close range.
Jules Kounde - 6: Often found himself stationed in Portugal’s half, on the ball and out on the right, surveying his options in the box. With that in mind, he failed to produce much of note. But defensively the right-back was largely strong. Scored his penalty.
Dayot Upamecano - 6: Had a rather quiet night until Portugal began to cut through midway into the second half.
William Saliba - 7: Similarly to his centre-back partner, he didn’t have tons to do, but was solid in a few duels with Ronaldo and Silva.
Theo Hernandez - 6: Tested Costa with a powerful first-half shot from range, and looked threatening whenever he galloped forward. Scored his penalty.
N’Golo Kante - 7: Still such an engine, and he displayed his impressive passing range here, too. He’s so missed in the top European leagues.
Aurelien Tchouameni - 6: Little to criticise in the midfielder’s case, but also nothing too positive to pick out.
Eduardo Camavinga - 6: Same as above, until he produced a crucial tackle to deny Leao at the near post, just before the hour mark. Later flashed a shot across the Portugal goal, when he had to hit the target.
Antoine Griezmann - 6: Held up the ball well to bring his teammates into play, but didn’t contribute much beyond that. Was replaced on 66 minutes.
Kylian Mbappe - 6: Showed glimpses of his stunning pace and dribbling ability, but just glimpses. Experienced some discomfort in the second half, when the ball was headed onto his mask at close range. Was shockingly removed at half-time in extra time.
Randal Kolo Muani - 6: Had clearly been tasked with helping out defensively, and he did a good job at that. In his only real chance of the game, he was denied by a great Dias challenge when he thought he was one-on-one with Costa.
Substitutes:
Ousmane Dembele - 7: Replaced Griezmann on 66 minutes. Was very lively and skimmed the post with a long-range, curled effort. Scored his penalty.
Marcus Thuram - 6: Came on for Kolo Muani later in the second half. Didn’t do much to warrant particular criticism or praise.
Youssouf Fofana - 6: Replaced Camavinga. His passes injected some pace here and there. Scored his penalty.
Bradley Barcola - 6: Brought on for Mbappe in a surprising extra-time moment. Put together one slippery run in the Portugal box but then fired high and wide. Scored his penalty.
Portugal (4-2-3-1)
Diogo Costa - 7: Was only faced with a few tests, but passed each one.
Joao Cancelo - 6: Dealt well with Mbappe for the most part, with a little help from Palhina. Did get away with an ill-advised half-volley across his box. Replaced on 74 minutes.
Ruben Dias - 7: Defended a couple of aerial deliveries nicely, then produced a terrific sliding block to deny Kolo Muani in the best chance of the game.
Pepe - 6: A huge question before the game was whether the centre-back would be able to deal with Mbappe and co. The 41-year-old looked tired against Slovenia but brighter here. Was beaten on foot numerous times but often made up for those moments with challenges – which he celebrated like goals.
Nuno Mendes - 6: Got forward at every opportunity, overlapping with Leao. Looked threatening in that sense, but wasn’t presented with many chances to send in deliveries. Had a chance to win it with one of the final kicks of extra time, but his shot was tame. Scored his penalty.
Vitinha - 6: Ferried and distributed the ball pretty well when Portugal were in possession, though largely laterally rather than vertically. Could have opened the scoring in the second half but was denied by a good Maignan save.
Joao Palhina - 6: Gifted the ball to the opposition in a very dangerous position, with a lazy little pass in the first half. However, he helped his teammates to double up on Mbappe when needed – and to decent effect. Was so hard-done-by to get booked for a great challenge. Made way for Ruben Neves late in the game.
Bernardo Silva - 6: Full of energy and drive. Retained the ball well, even in tricky positions. Failed to contribute anything decisive across 120 minutes, however. Scored his penalty, though.
Bruno Fernandes - 6: Deliveries were largely poor; his first two failed to beat the first man. Did make a great read to intercept Griezmann in the Portugal box, however, and tested Maignan well in the second half. Taken off on 74 minutes, in a surprising move.
Rafael Leao - 7: Active and inventive on the left flank, as he showed with one back-heel to nutmeg Kounde and put Mendes through. Looked his side’s best chance of a goal for a big chunk of the game. Made way in extra time.
Cristiano Ronaldo - 4: Failed to make any impact on the game in 120 minutes, bar one defensive header. Late in normal time, he cannoned a free-kick into the wall when he should never have gone for goal. In extra time, a pull-back was behind him but he still should’ve done better than firing so high over the bar. Scored his penalty, to his credit, though.
Substitutes:
Nelson Semedo - 6: Brought on for Cancelo. Defensively sound enough.
Francisco Conceicao - 6: Replaced Fernandes and looked fairly lively.
Ruben Neves - 6: Came on for Palhinha. Little to criticise in his case.
Joao Felix - 4: Brought on for Leao in extra time. Hit the side-netting with a header when he had to score. Missed his penalty.
Matheus Nunes – N/A: Brought on for penalties but did not get to take one.