Borussia Dortmund produced a fine away performance to beat Paris St-Germain and reach their first Champions League final since 2013.
That goal came just after PSG’s Warren Zaire-Emery wasted a glorious chance as he volleyed against the post from close range early in the second half.
PSG hit the upright twice in the opening match in Germany and, after falling 2-0 behind on aggregate, again struck the post through Nuno Mendes.
The hosts thought they had been given a penalty and a potential lifeline when Italian referee Daniele Orsato pointed to the spot, only to instantly change his mind and rule that Hummels’ foul on Ousmane Dembele had been just outside the area.
PSG have never been European champions, losing in the 2020 final, and Dortmund produced an excellent defensive display to frustrate the French title winners.
Kylian Mbappe, in his last European match for PSG before joining Real Madrid in the summer, had an effort deflected on to the crossbar, before Vitinha fired against the bar too – the sixth time overall his side had hit the frame of the goal in the tie.
The final will be at Wembley on Saturday, 1 June (20:00 BST) and could be an all-German affair, just as it was in May 2013 when Bayern Munich beat Dortmund 2-1 in London.
Bayern and Real are in the second 2024 semi-final and the first leg ended 2-2 in Germany, with the second leg in Spain on Wednesday (20:00 BST).
Dortmund are aiming to become European champions for the second time in their history after they defeated Juventus 3-1 in the 1997 final.
More to follow.
How to play
Rate players out of 10 throughout or after the game. The rater will close 30 minutes after the final whistle.
Rating range key = Give it up = Pure perfection
Paris Saint Germain
Starting XI
-
Squad number99Player nameG Donnarumma
Average rating5.11
-
Squad number2Player nameHakimi
Average rating5.13
-
Squad number5Player nameMarquinhos
Average rating4.86
-
Squad number35Player nameBeraldo
Average rating4.48
-
Squad number25Player nameNuno Mendes
Average rating4.47
-
Squad number33Player nameZaïre-Emery
Average rating4.39
-
Squad number17Player nameVitinha
Average rating4.69
-
Squad number8Player nameRuiz
Average rating4.38
-
Squad number10Player nameDembélé
Average rating4.75
-
Squad number9Player nameGonçalo Ramos
Average rating5.01
-
Squad number7Player nameMbappé
Average rating4.07
Substitutes
-
Squad number11Player nameAsensio
Average rating4.19
-
Squad number19Player nameLee Kang-in
Average rating4.59
-
Squad number29Player nameBarcola
Average rating4.33
Borussia Dortmund
Starting XI
-
Squad number1Player nameKobel
Average rating7.51
-
Squad number26Player nameRyerson
Average rating7.56
-
Squad number15Player nameHummels
Average rating7.92
-
Squad number4Player nameSchlotterbeck
Average rating7.80
-
Squad number22Player nameMaatsen
Average rating7.83
-
Squad number20Player nameSabitzer
Average rating7.77
-
Squad number23Player nameCan
Average rating7.54
-
Squad number10Player nameSancho
Average rating8.12
-
Squad number19Player nameBrandt
Average rating7.81
-
Squad number27Player nameAdeyemi
Average rating7.82
-
Squad number14Player nameFüllkrug
Average rating7.66
Substitutes
-
Squad number8Player nameNmecha
Average rating7.41
-
Squad number11Player nameReus
Average rating7.90
-
Squad number25Player nameSüle
Average rating7.42
Line-ups
PSG
Formation 4-3-3
- 99G Donnarumma
- 2HakimiBooked at 84mins
- 5Marquinhos
- 35Lopes Beraldo
- 25Nuno Mendes
- 33Zaïre-EmerySubstituted forLee Kang-inat 76′minutes
- 17Vitinha
- 8RuizSubstituted forAsensioat 63′minutes
- 10DembéléBooked at 75mins
- 9Gonçalo RamosSubstituted forBarcolaat 63′minutes
- 7Mbappé
Substitutes
- 1Navas
- 4Ugarte
- 11Asensio
- 15Danilo
- 19Lee Kang-in
- 23Kolo Muani
- 26Mukiele
- 28Soler
- 29Barcola
- 37Skriniar
- 42Zague
- 80Tenas
B Dortmund
Formation 4-2-3-1
- 1Kobel
- 26Ryerson
- 15HummelsBooked at 65mins
- 4Schlotterbeck
- 22Maatsen
- 20SabitzerBooked at 64mins
- 23Can
- 10SanchoSubstituted forSüleat 67′minutes
- 19BrandtSubstituted forNmechaat 85′minutes
- 27AdeyemiSubstituted forReusat 56′minutes
- 14Füllkrug
Substitutes
- 6Özcan
- 8Nmecha
- 9Haller
- 11Reus
- 17Wolf
- 18Moukoko
- 21Malen
- 25Süle
- 33Meyer
- 35Lotka
- 38Wätjen
- 43Bynoe-Gittens
- Referee:
- Daniele Orsato
Match Stats
Live Text
Match ends, Paris Saint Germain 0, Borussia Dortmund 1.