Både Tyskland og Spanien lavede fire mål i semifinalerne og mødes nu i EM-finalen på søndag.
Tyskland fortsætter kursen mod endnu en EM-titel for U21-landshold.
Tyskerne havde ellers store problemer med Rumænien i semifinalen, men to frisparksmål i kampens sidste minutter sikrede de regerende europamestre en 4-2-sejr og en billet til søndagens finale, hvor Spanien venter.
Spanierne besejrede Frankrig med hele 4-1 efter at have været bagud undervejs.
Dermed bliver slutkampen en gentagelse af finalen ved sidste EM i 2017, hvor tyskerne tog titlen.
Tyskerne kom på hårdt arbejde mod rumænerne, der blev slået på to dødbolde til sidst.
Først bragte turneringens topscorer, Luca Waldschmidt, tyskerne på 3-2, da han sparkede bolden igennem en hullet rumænsk forsvarsmur.
Og i overtiden afgjorde Nadiem Amiri endegyldigt kampen med endnu et frisparksmål.
Rumænien, der har været turneringens positive overraskelse, leverede ellers endnu en fin indsats og gik til pausen med en 2-1-føring efter to scoringer af forwarden George Puscas.
Men Waldschmidt udlignede kort inde i anden halvleg på et straffespark, og kampen lå på vippen.
I slutfasen afløste Esbjerg-angriberen Adrian Petre en træt Puscas, men Petre var dårligt kommet på banen, før tyskerne tog føringen på Waldschmidts syvende EM-træffer.
Rumænerne satsede derefter alt, men det gav plads til tyske kontrastød, og stopperen Alexandru Pascanu blev smidt ud for en nødbremse dybt inde i overtiden.
På det efterfølgende frispark slukkede Amiri lyset for rumænerne, og da dommeren kort efter fløjtede af, forlod mange af de rumænske spillere banen i tårer.
I modsætning til Tyskland var Spanien ganske overbevisende i den anden semifinale mod Frankrig.
Franskmændene kom ellers i spidsen på straffespark, men inden pausen var billedet vendt på hovedet.
Først udlignede Marc Roca efter hjørnespark, og siden bragte Mikel Oyarzabal spanierne i front fra 11-meter-pletten.
I anden halvleg gik det helt galt for franskmændene, der indkasserede yderligere to scoringer.
Først gjorde Dani Olmo det til 3-1, inden Borja Mayoral bankede Spaniens fjerde mål ind ved fjerneste stolpe.
Finalen spilles søndag aften i Udine.