Det var Rumänien som tog tag i spelet direkt i ett 38 grader varmt Bologna, Italien.
Trots det gav Hoffenheim-mittfältaren Nadiem Amiri Tyskland ledningen efter 21 minuter på en snabb kontring.
Men Rumänien behärskade värmen bäst och vände till ledning innan paus efter dubbla strutar från anfallaren George Puscas.
Men tysken kom tillbaka än en gång. Gian-Luca Waldschmidt satte sitt sjätte mål i turneringen från elva meter i upptakten på andra halvlek och samme Waldschmidt sköt sedan i 90:e minuten 3-2 på en frispark – Tyskland till final.
Amiri dundrade sedan in slutresultat 4-2 några minuter senare.
I finalen, som sänds i SVT på söndag, väntar Spanien. De vände 0-1 till seger med 4-1 mot Frankrike i torsdagens andra semifinal. Det är en finalrepris från 2017, då Tyskland vann.