Andre Castro scored in stoppage time to deliver a dramatic comeback win for 10-man Braga at Union Berlin in the Champions League.
The game was finely poised at 2-2 when Castro, 35, came off the bench in 86th minute and slammed home from the edge of the box in the fourth minute of added time.
Braga had trailed 2-0 after 37 minutes with Union forward Sheraldo Becker scoring both for the German club.
Sikou Niakate halved the deficit shortly before half time and Bruma equalised for Union six minutes after the restart with a superb finish.
Castro capped a stunning finale from the Portuguese side as he struck firmly beyond a despairing Frederik Ronnow.
Braga coach Artur Jorge praised the “emotional strength” of his team for the turnaround, but said: “The victory makes me very happy, but it doesn’t take my feet off the ground.
“We have to have balance, and we know that we are in a group with Napoli and Real Madrid.”
It is the second successive game Union Berlin have seen a draw turn into a Champions League defeat this season, having lost 1-0 at Real Madrid when Jude Bellingham scored in the 94th minute.
Union, featuring in their first-ever Champions League campaign, sit bottom of Group C without a point, while Braga are third and level on points with Napoli.
The defeat was further compounded by the fact Union were unable to play at their regular Stadion An der Alten Forsterei, but host the match at the home of rivals Hertha Berlin.
Fans protested at the Olympiastadion by unfurling a banner with a message to Uefa.
Line-ups
Union Berlin
Formation 5-3-2
- 1Rønnow
- 18JuranovicBooked at 90mins
- 5Doekhi
- 23BonucciBooked at 13mins
- 4Monteiro Pinto LeiteBooked at 54mins
- 6GosensSubstituted forRoussillonat 86′minutes
- 29TousartSubstituted forLaïdouniat 63′minutes
- 33Král
- 19HabererSubstituted forAaronsonat 81′minutes
- 27Becker
- 17BehrensSubstituted forVollandat 63′minutes
Substitutes
- 3Jaeckel
- 7Aaronson
- 10Volland
- 20Laïdouni
- 26Roussillon
- 28Trimmel
- 36Kemlein
- 37Schwolow
- 39Stein
Sporting Braga
Formation 4-2-3-1
- 1Lima Magalhães
- 17MendesSubstituted forde Castro Pereiraat 86′minutes
- 5Saatçi
- 4Niakaté
- 26BorjaSubstituted forMarínat 74′minutes
- 16ZalazarBooked at 72minsSubstituted forJoão Moutinhoat 73′minutes
- 8Al Musrati
- 14DjalóSubstituted forRuizat 83′minutes
- 21Ricardo HortaBooked at 13minsSubstituted forCarvalho Vieiraat 83′minutes
- 7Tué Na Bangna
- 23BanzaBooked at 46mins
Substitutes
- 6José Fonte
- 9Ruiz
- 10Luz Horta
- 12de Sá
- 15Rodrigues de Oliveira
- 18Carvalho Vieira
- 19Marín
- 20Rony Lopes
- 22Afonso Fernandes
- 28João Moutinho
- 88de Castro Pereira
- 91Hornícek
- Referee:
- Srdjan Jovanovic
- Attendance:
- 73,445
Live Text
Match ends, 1. FC Union Berlin 2, Sporting Braga 3.
Second Half ends, 1. FC Union Berlin 2, Sporting Braga 3.
Josip Juranovic (1. FC Union Berlin) is shown the yellow card.
Goal! 1. FC Union Berlin 2, Sporting Braga 3. Castro (Sporting Braga) right footed shot from outside the box to the bottom left corner. Assisted by Bruma.
Matheus (Sporting Braga) wins a free kick in the defensive half.
Foul by Diogo Leite (1. FC Union Berlin).
Corner, 1. FC Union Berlin. Conceded by Matheus.
Attempt saved. Alex Král (1. FC Union Berlin) right footed shot from outside the box is saved in the bottom left corner. Assisted by Kevin Volland with a headed pass.
Simon Banza (Sporting Braga) wins a free kick on the right wing.
Foul by Leonardo Bonucci (1. FC Union Berlin).
Foul by Simon Banza (Sporting Braga).
Danilho Doekhi (1. FC Union Berlin) wins a free kick in the defensive half.
Substitution, Sporting Braga. Castro replaces Joe Mendes.
Substitution, 1. FC Union Berlin. Jérôme Roussillon replaces Robin Gosens.
Attempt missed. Brenden Aaronson (1. FC Union Berlin) header from the centre of the box misses to the left. Assisted by Kevin Volland with a cross.
Substitution, Sporting Braga. Abel Ruiz replaces Álvaro Djaló.
Substitution, Sporting Braga. Vitor Carvalho replaces Ricardo Horta.
Corner, 1. FC Union Berlin. Conceded by Sikou Niakaté.
Substitution, 1. FC Union Berlin. Brenden Aaronson replaces Janik Haberer.
Offside, 1. FC Union Berlin. Janik Haberer tries a through ball, but Sheraldo Becker is caught offside.