Inbytt i den åttonde minuten och målskytt tidigt i den andra halvleken.
Det var nära att Dani Olmo skulle bli ensam målskytt i kvartsfinalen mellan Spanien och Tyskland.
Men Florian Wirtz kvitterade i 89:e minuten och det blev förlängning.
Matchen rörde sig mot straffläggning när Olmo slog ett perfekt inlägg till Mikel Merino som nickade in 2–1 till Spanien i 119:e minuten.
”Rätt lag går vidare”
Nattsvart för värdnationen Tyskland.
Spanien är klart för semifinal och Tysklands EM är över.
– Det ligger mycket arbete bakom, särskilt från mina lagkamrater, som gjorde ett fantastiskt jobb, och att de kvitterade i den 90:e minuten var en uppförsbacke, men det är en belöning för uthålligheten och jag tycker att vi förtjänar det, säger målskytten Merino och fortsätter:
– Det är en match vi alla väntat på, mellan två av de bästa lagen i världen. Det kan vara en VM-final eller en EM-final. Vi har visat att vi vet hur vi ska lida, att vi har ett fantastiskt lag.
Hos Tysklands Toni Kroos, som nu avslutar sin fotbollskarriär, var besvikelsen stor.
– Vi hade ett gemensamt mål när vi kom hit, men drömmen som vi alla hade har gått i kras.
Spanien möter Frankrike i semifinal.
Höjdpunkter Spanien–Tyskland
Europamästerskapet
Spanien
2 - 1
1-1 (Fulltid)
Tyskland
Första halvlek
- OlmoPedri8'
- 13'Rüdiger
- 28'Raum
- Le Normand29'
Halvtid
- NachoLe Normand46'
- 46'WirtzSané
- 46'AndrichCan
Andra halvlek
- 1 - 0Olmo (Yamal)51'
- 57'Andrich
- 57'MittelstädtRaum
- 57'FüllkrugGündogan
- F. TorresYamal63'
- 67'Kroos
- 73'Mittelstädt
- F. Torres74'
- MerinoN. Williams79'
- OyarzabalMorata79'
- 80'MüllerTah
- Simón82'
- 89'1 - 1Wirtz (Kimmich)
- 90'Schlotterbeck
90 minuter
- 91'AntonHavertz
Förlängning, första halvlek
- 94'Wirtz
- Carvajal100'
- JoseluRuiz102'
Förlängning, andra halvlek
- Rodri110'
- 113'Undav
- 2 - 1Merino (Olmo)119'
- Ruiz120'
- Carvajal120'+6'