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 with more than 30 minutes remaining when Josko Gvardiol pulled down Roland Sallai outside the box but Freiburg 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.
"We got smacked in the face" Freiburg captain Christian Guenter told German TV network ZDF. "RB scored with every shot."
Leipzig manager Marco Rose said "we scored some nice goals, had lots of speed, force and power."
"There's still a few weeks to go, we'll see how our form is at that time. We want to defend the cup."
Asked by a journalist if Leipzig's first half made him 'speechless', Freiburg manager Christian Streich said simply "speechless? I'm not speechless when we lose a game."
"Leipzig were better and deserved to win."
In search of their first German Cup title, Streich named a defensive line-up, surprisingly omitting top scorer Vincenzo Grifo for France defender Kiliann Sildillia.
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.
Nkunku, Leipzig's top scorer this season in the league with 13 goals, made it four in first-half injury time, again assisted by Olmo.
Early in the second half, Gvardiol fouled Sallai with the goal beckoning, receiving a straight red in the process, meaning the Croatian will miss the June's final.
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.
Asked if the result would raise the anger in his players ahead of the crucial league match on Saturday, Streich said "anger doesn't help you. Anger takes us in the wrong direction."