France’s clash with Germany for the UEFA Nations League bronze had all the ingredients of a classic – high stakes, high drama, and moments of individual brilliance. A 2-0 victory for Les Bleus was secured courtesy of a goal and assist from their talismanic captain Kylian Mbappé, who delivered when it mattered most. From a VAR-overturned penalty to shots off the woodwork, this third-place play-off in Stuttgart kept fans on the edge of their seats before France ultimately pulled away with a clinical display.
France’s Kylian Mbappé (left) and Germany’s Jonathan Tah (right) challenge for the ball during the UEFA Nations League third-place match in Stuttgart. Mbappé was a constant menace to the German backline, showcasing electric pace and clever movement. The 24-year-old forward’s experience and composure shone through in decisive moments – underscoring why he wore the captain’s armband – as he helped France end their Nations League campaign on a high note.
UEFA Nations League – France vs Germany: Key Highlights & Pivotal Moments
Both teams approached this third-place showdown with attacking intent. Hosts Germany started brightly, pressing high in a 4-1-3-2 setup and nearly grabbing an early lead. In the opening minutes, Karim Adeyemi burst through on goal only to be denied by a sharp save from France goalkeeper Mike Maignan, who had to be alert to ward off the early threat. Germany continued to carve out chances – Florian Wirtz even struck the post with a low drive from the center of the box, inches away from scoring.
The hosts dominated possession in the first half and thought they’d earned a penalty when Adeyemi went down in the area at around 30 minutes. However, after a VAR check the referee determined it was a simulation, overturning the penalty call and booking Adeyemi for diving. It was a massive turning point – instead of potentially trailing, France gained confidence from the let-off.
Les Bleus grew into the game gradually, and just before the break they landed a hammer blow. In first-half stoppage time, Aurélien Tchouaméni whipped in a teasing cross from the left, and Kylian Mbappé brought it down brilliantly, cut inside past his marker, and curled a right-footed shot into the bottom-right corner. The goal on the stroke of halftime made it 1-0 to France and marked Mbappé’s 50th goal for the national team, a remarkable milestone achieved at just 26 years of age. Scoring at such a crucial juncture exemplified France’s ruthless streak, flipping the script after Germany had been on the front foot for much of the half.
The second half opened with more drama. Germany introduced striker Deniz Undav at halftime to add punch up front, and he thought he’d equalized in the 53rd minute – only for VAR to intervene again. Undav poked home from close range, but celebrations were cut short as the goal was ruled out for a narrow offside in the buildup.
Germany’s frustration grew, but they kept pushing. Veteran forward Niclas Füllkrug came agonizingly close, sending a header just over the bar from point-blank range off a Florian Wirtz corner. Moments later, France almost doubled their lead when Marcus Thuram smashed a shot off the right post following a fast break. The match was teetering on a knife’s edge – one goal could swing momentum either way.
As Germany threw numbers forward in search of an equalizer, gaps started to appear at the back. France’s tactical discipline under Didier Deschamps paid off in the 84th minute with a textbook counter-attack. Mbappé turned provider this time, sprinting clear on the break and unselfishly laying off a pass to substitute Michael Olise. The young winger made no mistake, slotting a right-footed shot into the bottom corner to make it 2-0, effectively sealing the result. It was a dagger to German hopes and a showcase of France’s devastating pace in transition.
In the frantic final minutes, Germany continued to fight – Undav and Füllkrug each had shots off target in stoppage time – but Maignan and the French defence held firm to preserve the clean sheet. The final whistle confirmed France’s triumph and Germany’s disappointment on home soil.
Tactical Analysis: How France Overcame Germany
This encounter offered plenty of intrigue on the tactical front. Germany’s interim coach set his side out in a 4-1-3-2 formation, pairing target man Füllkrug with the rangy Woltemade up top to try and unsettle France’s center-backs. The hosts looked to press aggressively and utilized the width provided by Serge Gnabry and Karim Adeyemi cutting in from the flanks. In the early stages, this approach pinned France back – Leon Goretzka and Joshua Kimmich took control of midfield, and Germany’s full-backs (David Raum and Thilo Kehrer) pushed high to support the attack. However, France’s well-drilled defensive shape in a 4-2-3-1 eventually absorbed the pressure. The double pivot of Tchouaméni and Adrien Rabiot shielded the backline effectively after weathering the initial storm, and France were content to sit back and hit on the counter with their pace up front.
One of the key tactical turning points was the VAR penalty reversal in the first half. That incident not only kept the score level but also seemed to jolt France into greater urgency. They began to press the German midfield more intensely after the scare, with Rabiot and Tchouaméni snapping into tackles. Meanwhile, France’s attacking quartet started finding spaces – Randal Kolo Muani dropped from the center-forward role into wider positions to combine with Mbappé and Thuram, pulling Germany’s defense out of shape. Deschamps’ men exploited those gaps brilliantly in the lead-up to Mbappé’s goal, which came from a quick switch of play and Tchouaméni’s vision to pick out the captain’s run.
In the second half, Germany’s substitutions highlighted a tactical gamble. Bringing on Deniz Undav for a midfielder meant switching to a more overt 4-2-4 when in possession, as they chased an equalizer. Undav’s physical presence did cause problems – he put the ball in the net once (ruled offside) and helped create multiple scrambles in the box. Yet, this bold approach left Germany vulnerable on the break. France’s pacey forwards were able to exploit the spaces behind Germany’s advanced full-backs. The introduction of Michael Olise in the 68th minute added fresh legs and creativity on the wing, allowing France to stretch Germany’s defense even further. That move paid dividends when Olise combined with Mbappé on the counter for the second goal. Essentially, France balanced defence and attack better: they remained compact when defending their 1-0 lead and broke forward with purpose when opportunities arose. Germany, for all their possession (about 55% of the ball), could not find the cutting edge to break down the French block.
Another notable aspect was France’s resilience and game management. After going 2-0 up, they smartly slowed the tempo and brought on the likes of Manu Koné and Matteo Guendouzi to reinforce the midfield and retain possession. Germany’s attacks became increasingly direct and predictable in the final minutes, with long balls that were dealt with by France’s centre-backs Loïc Badé and Lucas Hernández. Despite Germany out-shooting France overall, many of the hosts’ efforts were from difficult angles or outside the box. The French side showed the expertise and composure of a team that won the Nations League in 2021, effectively managing the closing stages to secure the win.
Player Ratings for France vs Germany: Kylian Mbappe Leads by Example
Below are the player ratings for the France vs Germany third-place match, highlighting individual performances. (Ratings are out of 10.)
France Player Ratings
- Mike Maignan (GK) – 8/10: Commanding performance from the French keeper. Made six saves, including a crucial early stop on Adeyemi, and his quick distribution launched counter-attacks.
- Malo Gusto (RB) – 7/10: Energetic display on the right flank. Defended diligently against Gnabry and provided width going forward, though his final ball could have been better at times.
- Loïc Badé (CB) – 7/10: Solid at the heart of defence. Made important clearances and one vital block. Came close to scoring with a powerful header off a corner that forced a flying save from ter Stegen.
- Lucas Hernández (CB) – 7/10: Brought experience and toughness. Booked in the second half for a tactical foul, but marshaled Füllkrug well and won several aerial duels.
- Lucas Digne (LB) – 6/10: A mixed outing. Contributed to the attack with overlapping runs and set-piece deliveries, but was caught out of position a few times. Picked up an early yellow card for a clumsy tackle.
- Aurélien Tchouaméni (CM) – 7/10: His vision and passing range were on display. Provided the assist for Mbappé’s goal with a superb cross. Unfortunately subbed off injured on 69’, but by then had helped France control the midfield.
- Adrien Rabiot (CM) – 6/10: Quietly effective in patches. Helped shield the defence and kept possession ticking, although he took few risks with forward passes. Worked hard off the ball.
- Randal Kolo Muani (RW) – 7/10: Tireless work rate and pace troubled Germany’s defence. Set up Thuram’s shot off the post with a clever breakaway pass. Faded slightly before being substituted, but played his part in stretching the German backline.
- Rayan Cherki (AM) – 6/10: Showed flashes of his talent with some silky touches and a stinging shot saved by ter Stegen early on. However, he drifted out of the game at times. Subbed off at 68’ as France looked for more directness.
- Marcus Thuram (LW) – 7/10: Provided a physical presence and linked up well with Mbappé. Unlucky not to score when his shot hit the post. Tracked back diligently to help Digne on the left flank.
- Kylian Mbappé (ST) – 9/10: Man of the Match. An inspirational outing from the French captain. Scored the opener with a brilliant solo effort and cool finish, his 50th international goal, and later turned provider with a perfectly timed assist to Olise on the counter. Mbappé’s pace and movement tormented Germany’s defence all game; he could have had a second goal early in the second half, narrowly finding the side netting on one occasion. A leader’s performance when it was needed most.
- Subs: Michael Olise (AM) – 8/10: Came on in the 68th minute and immediately added spark. Took his goal confidently in the 84th minute to kill off the game and combined well with Mbappé on counter-attacks. Manu Koné (CM) – 6/10: Brought on to replace Tchouaméni (69’) and helped see out the win by breaking up play in midfield. Désiré Doué (FW) – 6/10: Replaced Kolo Muani (69’) and had a couple of shots on target that tested ter Stegen. Matteo Guendouzi (CM) – N/R: Late sub (90’) to run down the clock.
Germany Player Ratings
- Marc-André ter Stegen (GK) – 6/10: A busy night for Germany’s keeper. Made some good saves (eight shots on target faced) but could not do much about either goal – Mbappé’s strike was perfectly placed and Olise’s finish came one-on-one. Distribution was mostly reliable.
- Thilo Kehrer (RB) – 6/10: Steady if unspectacular on the right side of defence. Dealt with Thuram reasonably well and tried to support in attack, though his crossing lacked accuracy.
- Jonathan Tah (CB) – 5/10: Struggled against France’s quick attackers. Beaten by Mbappé’s skill for the first goal and picked up a booking trying to stop a counter. Won some headers but was often on the back foot.
- Robin Koch (CB) – 6/10: A solid first half where he made a number of clearances and interceptions. However, he lost track of Mbappé’s run for the opening goal. Germany’s high line exposed his lack of pace at times.
- David Raum (LB) – 6/10: Very active down the left, especially early on. Delivered a few dangerous crosses (one leading to a Woltemade chance that Maignan saved) and got forward frequently. However, he left space in behind him that France nearly exploited. Subbed off on 65’.
- Joshua Kimmich (DM) – 7/10: Anchored the midfield and tried to drive Germany forward. Had a long-range shot saved by Maignan and provided a steady supply of passes into attacking areas. His leadership was evident as he rallied the team after setbacks.
- Leon Goretzka (CM) – 6/10: Started strongly with powerful runs and helped Germany dominate early possession. Faded as the match went on and was replaced on 65’ as Germany sought more attacking spark.
- Florian Wirtz (CM) – 7/10: Germany’s most creative player on the night. Hit the post with a low shot that had Maignan beaten and set up multiple chances, including the cross for Füllkrug’s close miss. At 22, he showed why he’s considered a future star, although he couldn’t find the final product here.
- Serge Gnabry (RW) – 6/10: A quiet game by his standards. Had one decent opportunity but blazed a shot over the bar from the right side of the box. His influence was limited by Hernández’s tight marking, and he drifted inside to little effect.
- Karim Adeyemi (LW) – 6/10: Lively in the opening exchanges – his speed earned a couple of early sights of goal, and he drew the ill-fated penalty call that was overturned. The yellow card for simulation blunted his momentum. Continued to try to take on defenders but was largely contained in the second half.
- Niclas Füllkrug (ST) – 6/10: Worked hard and got into dangerous positions but will rue his missed chances. Sent a free header just over the bar and had a left-footed effort drag wide late on. Provided a good knock-down to set up Wirtz’s shot off the post. Lacked service at times, but as Germany’s focal point he was well marshaled by France’s center-backs.
- Subs: Deniz Undav (ST) – 7/10: Injected life into Germany’s attack after coming on at halftime. Thought he’d scored when he netted from close range, but VAR ruled it out. His physicality gave France’s defence new problems, and he was involved in several late chances (one shot blocked, another just wide). Tom Bischof (CM) – 6/10: Replaced Goretzka (65’) to add creativity in midfield. Showed some tidy touches but struggled to find that killer pass against France’s compact shape. Maximilian Mittelstädt (LB) – 6/10: Came on for Raum (65’) and tried to keep Olise in check. Did a decent job defensively but offered less going forward as Germany focused on direct play. (Other unused substitutes: Leroy Sané, Robin Gosens, Felix Nmecha, et al.)
France vs Germany: Key Stats and Facts from the Match
- Mbappé’s milestone: The opening goal was Kylian Mbappé’s 50th goal for France at senior level. He achieved this half-century in style, at a crucial moment and still in his mid-20s – underlining his already historic impact for Les Bleus.
- Shot count: Despite the 2-0 scoreline, the game was quite even in chances. Germany had 20 shot attempts to France’s 15, but France were more efficient. Shots on target were 8 for France and 6 for Germany, reflecting France’s clinical finishing and ter Stegen’s busier evening in goal.
- Woodwork hit twice: Each side rattled the frame of the goal. Germany’s Florian Wirtz struck the post in the 37th minute with the game still 0-0, and France’s Marcus Thuram cannoned a shot off the post in the 58th minute that could have extended the lead. These near-misses kept the match on a knife-edge.
- VAR drama: The match featured two major VAR interventions. In the first half, Germany’s penalty award was rescinded after review (Adeyemi was booked for simulation). In the second half, Germany had a 53rd-minute equalizer by Undav overturned for a marginal offside. Both decisions were pivotal, denying Germany a goal on each occasion.
- Goalkeepers’ duel: Both Maignan and ter Stegen made 6 saves apiece during the match, highlighting the end-to-end nature of the contest. Maignan’s saves came at crucial times to keep France ahead, while ter Stegen’s stops prevented the scoreline from becoming more lopsided.
- Discipline: The game saw 5 yellow cards (3 for Germany, 2 for France). It was a competitive but largely fair contest – aside from the Adeyemi incident, most bookings were for routine fouls as both teams battled for midfield control. Notably, no red cards were issued, and the match was played in good spirit despite the high tempo.
- Historical footnote: This victory gave France the third-place honor in the 2024–25 Nations League, adding to their tournament pedigree (they were champions in 2021). Germany, hosting the finals for the first time, finish fourth – a disappointment that will fuel their motivation moving forward.
France will depart Stuttgart with well-earned bronze medals and a sense of redemption after their semi-final heartbreak earlier in the week. In contrast, Germany are left ruing missed chances and a lack of cutting edge that cost them on home soil. Still, the experience of competing at this level should prove valuable for the young talents in the German squad. Overall, the UEFA Nations League third-place play-off delivered an engaging, high-quality contest befitting two European heavyweights. France’s blend of flair and maturity won the day, securing a deserved victory and ending their campaign on a positive note – thanks in no small part to Kylian Mbappé’s masterful performance.