Niclas Fullkrug scored a brilliant first half winner as Borussia Dortmund beat Paris St-Germain 1-0 in a frenetic first leg of their Champions League semi-final.
The German international used his right foot to expertly bring down a long ball before hammering home with his left foot to give Dortmund a 36th-minute lead.
After a poor first half, PSG missed several chances to equalise in the second, with Kylian Mbappe curling an effort off the inside of the post before Achraf Hakimi struck the woodwork moments later.
Fullkrug should have scored a second after great work down the right flank from on-loan Manchester United winger Jadon Sancho but the striker could only blaze over the bar from five yards out.
In their third Champions League meeting of the season, Dortmund got the better of the Ligue 1 winners with the directness of their play, their aggression and tenacity.
PSG controlled much of the first half but failed to record a shot on target while Dortmund carved out opportunities.
Marcel Sabitzer had a super chance to double Dortmund’s lead on the stroke of half-time but his close-range volley was superbly saved by Gianluigi Donnarumma.
PSG manager Luis Enrique rallied his side at the break and Mbappe’s first major moment in the game came in the 51st minute with the France captain hitting the post with a trademark cut in from the left.
Moments later the ball fell to former Dortmund right-back Hakimi and his effort, just like Mbappe’s, stuck the inside of the opposite post and ran to safety.
Ousmane Dembele, another ex-Dortmund player, blazed a glorious chance over the bar with 10 minutes left while Fullkrug though he deserved a penalty after being nudged in the back when he appeared set to head in Julian Brandt’s cross.
The 1-0 scoreline leaves this tie finely balanced for the second leg at Parc des Princes on Tuesday.
Sancho shines on the big stage
England international Sancho was the best player on the pitch at the Signal Iduna Park.
PSG left-back Nuno Mendes did not know how to deal with the lightning quick feet of the Manchester United loanee and now has six days to find a way to deal with the 24-year-old before the second leg.
In one brilliant second-half moment, Sancho feigned to go left before dinking the ball over the leg of Mendes and then delivering a pinpoint cross which Fullkrug hit over the bar.
Sancho has had plenty of doubters after a difficult spell at Old Trafford following his £73m move from Dortmund in 2021.
He was left out of the United squad to face Arsenal in September 2023 and later took to social media to say he “felt like a scapegoat”.
A refusal to apologise to manager Erik ten Hag led to his January loan reunion with Dortmund – the place where he made his name – in an attempt to rediscover his form.
On the basis of this performance, that move has paid off and Sancho is back to his best.
And United fans will be left wondering what might have been.
Player of the match
FüllkrugNiclas Füllkrug
Borussia Dortmund
-
Squad number14Player nameFüllkrug
-
Squad number27Player nameAdeyemi
-
Squad number22Player nameMaatsen
-
Squad number11Player nameReus
-
Squad number15Player nameHummels
-
Squad number8Player nameNmecha
-
Squad number20Player nameSabitzer
-
Squad number4Player nameSchlotterbeck
-
Squad number17Player nameWolf
-
Squad number19Player nameBrandt
-
Squad number23Player nameCan
-
Squad number26Player nameRyerson
-
Squad number18Player nameMoukoko
-
Squad number1Player nameKobel
-
Squad number10Player nameSancho
Paris Saint Germain
-
Squad number2Player nameHakimi
-
Squad number5Player nameMarquinhos
-
Squad number21Player nameHernández
-
Squad number99Player nameG Donnarumma
-
Squad number10Player nameDembélé
-
Squad number17Player nameVitinha
-
Squad number29Player nameBarcola
-
Squad number25Player nameNuno Mendes
-
Squad number33Player nameZaïre-Emery
-
Squad number8Player nameRuiz
-
Squad number7Player nameMbappé
-
Squad number35Player nameBeraldo
-
Squad number23Player nameKolo Muani
Line-ups
B Dortmund
Formation 4-2-3-1
- 1Kobel
- 26RyersonSubstituted forWolfat 87′minutes
- 15Hummels
- 4SchlotterbeckBooked at 73mins
- 22MaatsenBooked at 19mins
- 20Sabitzer
- 23Can
- 10Sancho
- 19BrandtSubstituted forNmechaat 87′minutes
- 27AdeyemiSubstituted forReusat 83′minutes
- 14FüllkrugSubstituted forMoukokoat 90+1′minutes
Substitutes
- 6Özcan
- 8Nmecha
- 9Haller
- 11Reus
- 17Wolf
- 18Moukoko
- 21Malen
- 25Süle
- 33Meyer
- 35Lotka
- 38Wätjen
- 43Bynoe-Gittens
PSG
Formation 4-3-3
- 99G Donnarumma
- 2Hakimi
- 5Marquinhos
- 21HernándezSubstituted forLopes Beraldoat 42′minutes
- 25Nuno Mendes
- 33Zaïre-Emery
- 17Vitinha
- 8RuizBooked at 53mins
- 10Dembélé
- 7Mbappé
- 29BarcolaSubstituted forKolo Muaniat 65′minutes
Substitutes
- 1Navas
- 4Ugarte
- 9Gonçalo Ramos
- 11Asensio
- 15Danilo
- 19Lee Kang-in
- 23Kolo Muani
- 26Mukiele
- 28Soler
- 35Lopes Beraldo
- 37Skriniar
- 80Tenas
- Referee:
- Anthony Taylor
- Attendance:
- 81,365
Live Text
-
Match ends, Borussia Dortmund 1, Paris Saint Germain 0.
-
Second Half ends, Borussia Dortmund 1, Paris Saint Germain 0.
-
Substitution, Borussia Dortmund. Youssoufa Moukoko replaces Niclas Füllkrug.
-
Attempt missed. Warren Zaïre-Emery (Paris Saint Germain) header from the centre of the box is high and wide to the right. Assisted by Fabián Ruiz with a cross.
-
Corner, Borussia Dortmund. Conceded by Beraldo.
-
Substitution, Borussia Dortmund. Felix Nmecha replaces Julian Brandt.
-
Substitution, Borussia Dortmund. Marius Wolf replaces Julian Ryerson because of an injury.
-
Attempt missed. Fabián Ruiz (Paris Saint Germain) header from the centre of the box misses to the right. Assisted by Vitinha.
-
Delay over. They are ready to continue.
-
Delay in match because of an injury Julian Ryerson (Borussia Dortmund).
-
Foul by Vitinha (Paris Saint Germain).
-
Julian Ryerson (Borussia Dortmund) wins a free kick in the defensive half.
-
Attempt missed. Marco Reus (Borussia Dortmund) header from the centre of the box is too high.
-
Attempt blocked. Julian Brandt (Borussia Dortmund) right footed shot from the centre of the box is blocked.
-
Substitution, Borussia Dortmund. Marco Reus replaces Karim Adeyemi.
-
Attempt missed. Vitinha (Paris Saint Germain) right footed shot from the centre of the box misses to the left. Assisted by Ousmane Dembélé.
-
Attempt missed. Ousmane Dembélé (Paris Saint Germain) right footed shot from the centre of the box is too high. Assisted by Achraf Hakimi.
-
Corner, Paris Saint Germain. Conceded by Julian Ryerson.
-
Achraf Hakimi (Paris Saint Germain) wins a free kick in the defensive half.
-
Foul by Karim Adeyemi (Borussia Dortmund).