Champions League highlights and round-up: Kylian Mbappé hat-trick sends Real Madrid through, Paris Saint-Germain win in style, PSV and Dortmund progress
Wednesday, February 19, 2025
Article summary
Borussia Dortmund, Paris, PSV and Real Madrid are the final four teams to book their place in the UEFA Champions League round of 16.
Article top media content

Article body
Kylian Mbappé stole the headlines on the final night of knockout phase play-off action, scoring a sensational hat-trick to take Real Madrid through to the UEFA Champions League round of 16 at Manchester City's expense. Paris, meanwhile, sailed through with plenty to spare, Borussia Dortmund completed the job against Sporting CP and PSV left it late against Juventus. UEFA.com rounds up all the action.
Round of 16 qualifiers
League phase top eight (seeded)
Arsenal (ENG), Aston Villa (ENG), Atleti (ESP), Barcelona (ESP), Inter (ITA), Leverkusen (GER), Lille (FRA), Liverpool (ENG)
Knockout phase play-off winners (unseeded)
B. Dortmund (GER), Bayern München (GER), Benfica (POR), Club Brugge (BEL), Feyenoord (NED), Paris (FRA), PSV (NED), Real Madrid (ESP)
Wednesday's action
Real Madrid 3-1 Man City (agg: 6-3)
Kylian Mbappé's third Champions League hat-trick sealed the holders' last-16 place in style.
Mbappé met Raúl Asencio's long pass with a first-time lob for the fourth-minute opener, showed dazzling trickery to hit his second just after the half hour and completed his treble with a low curler in the 61st minute.
Nico González slotted in an added-time reply after Omar Marmoush struck the woodwork for City, for whom Erling Haaland – scorer of two goals in the first leg – remained an unused substitute.
Player of the Match: Kylian Mbappé (Real Madrid)
PSV 3-1 Juventus, aet (agg: 4-3)
Ryan Flamingo's extra-time goal was ultimately enough for PSV to win a Champions League knockout tie for the first time since 2007.
The match burst into life after the interval, when Noa Lang's diagonal ball found Ivan Perišić, who applied the finishing touch to a neat PSV counterattack to level the tie overall.
Timothy Weah's thunderous strike restored Juventus's aggregate lead ten minutes later, before Ismael Saibari pounced to convert from close range and send the game to extra time.
Flamingo then reacted first to Michele Di Gregorio's clearance to slot in and decide the match in dramatic fashion.
Player of the Match: Noa Lang (PSV)
Paris 7-0 Brest (agg: 10-0)
Paris eased through with an emphatic victory over Ligue 1 counterparts Brest – a win which wrapped up the second-biggest aggregate triumph in UEFA Champions League history. Paris also became the first team to have seven different scorers in a single match.
Bradley Barcola was the first of those, with Khvicha Kvaratskhelia then adding his maiden European goal for the hosts before the break. Vitinha's fine third was the first of four home goals in 18 minutes as Désiré Doué, Nuno Mendes and Gonçalo Ramos also netted before substitute Senny Mayulu rounded off the scoring late on.
Player of the Match: Vitinha (Paris)
B. Dortmund 0-0 Sporting CP (agg: 3-0)
Dortmund reached the last 16 with a measured performance at home, keeping chances scarce for Sporting as the Portuguese visitors fought to overturn a 3-0 deficit. The hosts came closest in the first half, Marcel Sabitzer's powerful effort denied by Rui Silva at full stretch, and continued to dominate after the break.
However, further goalkeeping heroics kept the game scoreless, Rui Silva diving low to save Serhou Guirassy's 59th-minute penalty before the woodwork thwarted Giovanni Reyna ten minutes later.
Player of the Match: Rui Silva (Sporting CP)
Tuesday's action
Bayern München 1-1 Celtic (agg: 3-2)
Alphonso Davies struck in the fourth minute of added time to edge Bayern through at the expense of Celtic, who looked for more than half an hour like taking this tie to extra time.
After missing four first-half chances, Nicolas Kühn took advantage of Minjae Kim's lapse to put the Scottish champions ahead just after the hour. The visitors very nearly hung on for the additional 30 minutes, with Davies finally bundling in after Leon Goretzka had been denied by goalkeeper Kasper Schmeichel late on.
Player of the Match: Kasper Schmeichel (Celtic)
Atalanta 1-3 Club Brugge (agg: 2-5)
Two Chemsdine Talbi goals inside the first 27 minutes helped Brugge reach the last 16 in style.
Davide Zappacosta hit a post for Atalanta after the 19-year-old's double, but Ferran Jutglà's exceptional long-range finish put the visitors 3-0 ahead at the break.
Ademola Lookman replied seconds after his half-time introduction and Zappacosta tested the woodwork again before Simon Mignolet saved a Lookman penalty. Home captain Rafael Tolói was dismissed late on.
Player of the Match: Ardon Jashari (Club Brugge)
Benfica 3-3 Monaco (agg: 4-3)
Orkun Kökçü's late strike helped Benfica squeeze through to the last 16 after a dramatic contest in Lisbon.
Kerem Aktürkoğlu's emphatic finish midway through the first half put the hosts in control, only for Takumi Minamino and Eliesse Ben Seghir to hit back either side of half-time to level the tie for Monaco.
Vangelis Pavlidis' coolly-taken penalty edged the Eagles back in front on aggregate, before substitute George Ilenikhena netted under a minute after coming on.
With extra time looming, Kökçü was able to guide in an Alvaro Carreras cross with just over ten minutes remaining.
Player of the Match: Orkun Kökçü (Benfica)
Milan 1-1 Feyenoord (agg: 1-2)
Feyenoord are through to the Champions League round of 16 for the first time after securing the draw they required at Stadio San Siro to progress on aggregate. The visitors were stunned after just 37 seconds as their former striker Santiago Giménez bundled in to level the tie overall.
However, Milan were reduced to ten men when Theo Hernández was shown a second yellow card six minutes into the second half. Julián Carranza then came off the bench to power in a header from a fine Hugo Bueno cross and seal an aggregate victory for the Eredivisie side.
Player of the Match: Dávid Hancko (Feyenoord)