1. FC Union Berlin's DFB Pokal adventure came to an end at the Zentralstadion in Leipzig after a last-minute winner from substitute Emil Forsberg.
The Swede headed Domenico Tedesco's side into the final in additional time after Andre Silva had equalised following a VAR check and penalty kick award.
Union had gone into a 25th-minute lead through Sheraldo Becker as the Köpenick side put in a brave performance.
RB Leipzig: Gulacsi, Simakan, Angelino, Orban, Szoboszlai (Forsberg 60), Nkunku, Olmo, Laimer, Gvardiol (Halstenberg 89), Silva (Poulsen 89), Henrichs
1. FC Union Berlin: Rönnow; Trimmel, Oczipka, Jaeckel, Knoche, Baumgartl; Prömel, Khedira, Haraguchi (Schäfer 64); Becker (Michel 78), Awoniyi (Voglsammer 78)
Urs Fischer made two changes from the side, which defeated Eintracht Frankfurt In the Bundesliga on Sunday. The captain Christopher Trimmel returned for Julian Ryerson at right-back, while Bastian Oczipka was given the nod at left-back in place of Niko Gießelmann. It was a composed start from Union at the Zentralstadion with the home fans pushing to get behind their team early doors. Rani Khedira broke up a bit of play after four minutes, which led to a promising Union break but Grischa Prömel’s pass was slightly over-cooked. With a front combination of Christopher Nkunku, Andre Silva and Dani Olmo, Leipzig were always going to have their moments. Silva whipped in a dangerous cross to give Nkunku a touch in the box but the French striker fired across goal and wide. Fischer’s side found joy from passes in behind the Leipzig defensive line, with skipper Trimmel illustrating again his great quality from wide. His corner on 14 minutes led to a scrappy break of the ball, but Prömel could only shoot high into the side of the net. The Austrian delivered the crucial assist to put Union into the lead after 25 minutes and send the 7,000-and-more Unioner into raptures. Taiwo Awoniyi laid the ball out to Trimmel and he fired a wonderful cross into Becker’s path at the back-post, the Dutchman making absolutely no mistake from close range. On 32 minutes, Trimmel picked out Becker again in behind Leipzig’s Josip Gvardiol but the Croatian managed to make a vital intervention. A massive opportunity fell to Leipzig on 37 minutes when Nkunku charged in behind from the left, set up Portuguese striker Silva but somehow he didn’t even manage to hit the target from six yards out.
With 45 minutes to book a final spot in Berlin against Freiburg, the second half was expectedly tense. Captain Orban headed wide for Leipzig two minutes into the half after a cross from Benjamin Henrichs. At the other end, it was still Union's full-backs who were delivering real quality into the danger area - Trimmel for one heading Oczipka's cross at Gulacsi on 49 minutes. A second goal would have made all the difference for Fischer's side and given Union a comfortable cushion to see out the game. Awoniyi was inches away from scoring on 56 minutes when Becker fired the ball across the face of goal. Leipzig were able to equalise on the hour after Felix Brych consulted with the video assistant referee to award a spot-kick against Paul Jaeckel. Silva took no chances with the kick and fired straight down the middle to equalise. The tie was still there for Union to win despite the setback but tired legs would mean every mistake could punish the team. On 69 minutes, Awoniyi's shot was blocked after great work from Becker and Oczipka. Becker and substitute Andras Schäfer combined in a tight space but Prömel's effort was deflected wide of the target. Paul Jaeckel's pass put Awoniyi through on 71 minutes but under pressure the striker shot wide of the target. Sven Michel and Andreas Voglsammer came into Union's attack for Becker and Awoniyi after 78 minutes. Michel threatened with his guile and creativity but Leipzig were always in good positions to clear. On 86 minutes, a corner was cleared as far as Michel at the edge of the box but it was deflected wide. The pressure was ramped up at the other end as Yussuf Poulsen entered the fray for Leipzig. In stoppage time, Timo Baumgartl miraculously cleared Angelino's shot off the line. But Union couldn't hold out for extra time as Forsberg headed Leipzig to victory in the second minute of stoppage time.