Freiburg im Breisgau (Germany) (AFP) - RB Leipzig forward Dani Olmo scored one and set up three more first-half goals as the German Cup holders returned to the final, with a 5-1 win at Freiburg on Tuesday.
In a rematch of last year's final, which Leipzig won on penalties, Freiburg started brightly but two goals in 90 seconds put them squarely on the back foot.
Olmo headed Leipzig in front from a Dominik Szoboszlai cross after 13 minutes and assisted Benjamin Henrichs shortly after.
The Spain forward teed up Szoboszlai and France winger Christopher Nkunku to give the visitors a commanding 4-0 lead at half time.
Leipzig were reduced to ten men early in the second half when last-man Josko Gvardiol pulled down Roland Sallai outside the box but were unable to mount a comeback.
Freiburg scored a late goal through Michael Gregoritsch, but Szoboszlai scored again from the spot in injury time for a dominant win.
Promoted to the first-division for the first time in 2016, Leipzig have now appeared in four of the past five German Cup finals.
In search of their first German Cup title, Freiburg coach Christian Streich named a defensive line-up, surprisingly omitting top scorer Vincenzo Grifo for France defender Kiliann Sildillia.
Freiburg looked dangerous early and went close through Japan winger Ritsu Doan, but Leipzig smashed in two goals in quick succession, prompting Streich to remove Sildillia for Grifo after just 18 minutes.
The change failed to stop the rot, Leipzig making it three after 37 minutes when Olmo set up Szoboszlai to slot in his side's third.
Having lost only twice at home in the league this season, against Bundesliga heavyweights Bayern Munich and Borussia Dortmund, Freiburg continued to push forward.Grifo found striker Gregoritsch in the box, but the giant Austrian dragged his shot just wide of the post.
Nkunku, Leipzig's top scorer this season in the league with 13 goals, made it four in first-half injury time when he collected another Olmo pass and blasted past Freiburg 'keeper Mark Flekken.
With 13 minutes gone in the second half, Gvardiol looked to stop a Freiburg chance but fouled Sallai with the goal beckoning, receiving a straight red in the process, meaning the Croatian will miss the final in early June.
Leipzig manager Marco Rose made a number of changes, taking off Olmo and Nkunku and bringing on the defensive cavalry.
Buoyed on by a passionate home crowd and with a numerical advantage, Freiburg pushed for an unlikely comeback but could only muster a Gregoritsch header with 15 minutes remaining.
Leipzig won a penalty deep into injury time and Szoboszlai scored from the spot to seal a dominant win for the visitors.
Leipzig's pressing and verve was reminiscent of the club's 2-0 demolition of Borussia Dortmund in the quarter finals and the Red Bulls will be heavily favoured in Berlin in five weeks' time.
Five-time winners Eintracht Frankfurt travel to three-time winners Stuttgart in Wednesday's second semi final.
Freiburg host Leipzig again on Saturday in the league in a crucial match in the sides' battle for Champions League football with four league matches remaining.
Leipzig sit two points and one place behind Freiburg in fifth with a better goal difference.Freiburg, along with third-placed Union Berlin, have never played Champions League football.