Det var Danmark som tog ledningen först i semifinalen i den ungerska staden Székesfehérvár.
17-årige Wahid Faghir, till vardags i moderklubben Vejle, hoppade in i den 66:e minuten och tre minuter senare gjorde han mål.
Han fick bollen i straffområdet, tog sig förbi en försvarare och sköt in bollen bakom Finn Dahmen i det tyska målet.
Man såg ut att gå mot seger, men i den 88:e kvitterade Tyskland genom Lukas Nmecha. I förlängningen kom sedan det som i sin tur såg ut att bli avgörandet då Jonathan Burkardt gjorde 2-1.
Men i den andra förlängningshalvleken fick danskarna straff och då var mittbacken Victor Nelsson säker från elva meter.
Faghir hade sedan ett jätteläge att bli hjälte, men fick inte iväg skottet från nära håll.
Istället blev det straffläggning och väl där vann Tyskland. Den avgörande straffen sattes av inhopparen Paul Jaeckel.
Nu väntar Nederländerna i semifinal på torsdag.
Den andra semifinalen blir ett iberiskt derby mellan Spanien och Portugal.