Braga overturned a two-goal deficit to win 3-2 at Union Berlin on Tuesday, an injury-time strike from Andre Castro helping to spoil the German side's home Champions League debut on Tuesday.

Sheraldo Becker, named Union captain for just the third time, took advantage of the home side's early dominance to score a first-half brace.

Braga, top scorers so far in the Portuguese Primeira Liga this season, fought back immediately, Sikou Niakate pouncing on a Union mistake to score, before Bruma unleashed a stunner to level the scores early in the second half. 

In the fourth minute of injury time, Castro, subbed on with three minutes remaining, slid a fierce shot into the bottom left corner, to give his side the win. 

Union's first Champions League game in Berlin was moved by the club to the 74,000-seat Olympic Stadium ground of rivals Hertha Berlin, from the 22,000-seat Alten Foersterei home in the city's east. 

The Hertha blue of the stadium and the Olympic running track were covered by Union red as Champions League football returned to the German capital for the first time since 2000, other than the 2015 final which was hosted by the city.

Union came in having lost five games in a row for the first time since 2004, when Champions League football was just a pipe dream for the then second division club. 

Like Union, who lost 1-0 to Real Madrid at the Santiago Bernabeu after an injury-time Jude Bellingham strike, Braga fought hard for no reward in their opening Champions League fixture, going down 2-1 to Napoli thanks to 88th-minute Niakate own goal.

Union broke through after 30 minutes, the length-of-the-field effort reminiscent of the counter-attacking goals which took them to an unlikely fourth place in the Bundesliga last season. 

With Braga pushing for an opener, Czech midfielder Alex Kral regained possession and hit a 40-metre pass that reached Becker, who slotted past Matheus for Union's first ever Champions League goal.

The captain quickly doubled up, again showing his speed to latch onto a Lucas Trousart flick and blasting in again, before jumping the advertising hoardings to celebrate in front of supporters. 

While Becker's second had Union's fans in full voice at a rain-soaked Olympic Stadium, the side took their foot off the pedal slightly. 

Braga took swift advantage, Niakate tapping in on the rebound after Union goalie Frederik Ronnow failed to save a powerful long-range Ricardo Horta strike. 

Union's sloppiness continued after the break, Josip Juranovic's failure to control a ball in the box gifting Braga a corner.

The Portuguese side took the invitation, Bruma giving Ronnow no chance with a precise and powerful long-range curler. 

With the clock winding down, the visitors launched one last attack, Castro smacking a long-range effort along the ground and past Ronnow, bringing teammates running from the bench.