LEIPZIG, Germany (AP) — Emil Forsberg scored in injury time to send Leipzig back into the German Cup final with a 2-1 win at home over Union Berlin on Wednesday.

Benjamin Henrichs crossed the ball back in after Union defender Timo Baumgartl had cleared off the line, and Forsberg got in front of Andras Schäfer to head the ball past goalkeeper Frederik Rönnow and set up a title decider against Freiburg in Berlin’s Olympiastadion on May 21.

Leipzig lost last year’s final 4-1 to Borussia Dortmund and the 2019 final 3-0 to Bayern Munich. Both Bundesliga heavyweights were knocked out ahead of the semifinals this season.

Freiburg defeated second-division Hamburger SV 3-1 on Tuesday to reach the final for the first time.

Union received support from some 6,500 fans all clad in red that made the relatively short trip from Berlin. In a pre-planned protest against Leipzig, a club they see as a marketing tool as it was founded by energy drinks company Red Bull in 2009, the Union supporters stayed quiet for the first 15 minutes and then consistently drowned out the home support.

Leipzig’s fans were stunned when Union went ahead in the 25th minute. Captain Christopher Trimmel whipped in a deep cross that Sheraldo Becker tucked inside the far post.

André Silva should have equalized after a well-worked team move in the 37th but the Portugal forward swept his shot just wide.

Taiwo Awoniyi almost made it 2-0 to Union early in the second half but he was unable to reach Becker’s cross at the far post.

The visitors were to rue the miss when Leipzig was awarded a penalty on the hour-mark for a foul by Union defender Paul Jaeckel on Christopher Nkunku.

Silva didn’t miss this time and Forsberg finished the job as Leipzig stretched its unbeaten run across all competitions to 15 games.

Union had been bidding to reach its second final after losing 2-0 to Schalke in 2001.

___

More AP soccer: https://apnews.com/hub/soccer and https://twitter.com/AP_Sports