Match ends, Spain 6, Germany 0.
Manchester City winger Ferran Torres scored his first career hat-trick as Spain inflicted Germany's heaviest competitive defeat and joined France in the four-team Nations League finals.
In a repeat of the Euro 2008 final, former Chelsea forward Alvaro Morata headed in Spain's first goal, before Torres volleyed home emphatically.
Rodri made it three with a guided header, and Torres slotted in a fourth before curling home the fifth.
Mikel Oyarzabal's tap-in made it 6-0.
Spain and France will be joined by either Belgium or Denmark from Group A2 and Italy, the Netherlands or Poland from Group A1.
Summer bargain Torres shines
It was a game that Spain dominated from the off - having 70% possession and 23 shots - but it was 20-year-old Torres who stole the show.
His fast, intelligent movement and eye for a goal has impressed in the opening weeks of the season, and his performance here strengthened the idea that Manchester City may have got a bargain after only paying an initial £20m for his services.
His raw pace and trickery set up an incorrectly disallowed Morata goal, before he showed composure to set himself and volley home his first.
His second again demonstrated excellent technique, as he controlled a cross that was behind him before slotting underneath Manuel Neuer.
He saved the best for last as he superbly curled home from the edge of the area to take his international tally to four goals.
His performance will have delighted fans in the blue half of Manchester, with the man he replaced at City, Leroy Sane, completely ineffective for the Germans.
The only setbacks on a fantastic night for Spain were muscular injuries to captain Sergio Ramos and Sergio Canales. But manager Luis Enrique said both injuries were "of very little importance", adding "it is not pleasant for the clubs".
Low has major work to do
Going into the game, Germany were unbeaten in 2020, and in control of Group A4.
They needed to avoid defeat to reach the finals and while that situation can sometimes lead to confusion about how to play, they were below par throughout.
They failed to register a single shot on target, with Serge Gnabry coming closest when his 22-yard effort rebounded off the bar in the dying moments.
It was a night filled with questionable tactical decisions, as Chelsea forward Timo Werner played wide left, with Gnabry through the middle in an uninspiring first-half performance.
Manager Joachim Low was given the chance to rebuild the side after elimination from the 2018 World Cup in the group stages, but with his side ranked 13th in the world, this performance suggests he has significant work to do before next year's rearranged European Championship.
Low said he didn't "know what really happened", but said he still trusts in the players.
He added: "Today we saw that we are not as far ahead in our development as we had thought and expected after the last games."
- 15RamosSubstituted forGarcíaat 43'minutes
- 18TorresSubstituted forAsensioat 73'minutes
- 6CanalesSubstituted forRuizat 12'minutes
- 19OlmoSubstituted forMorenoat 73'minutes
- 7MorataSubstituted forOyarzabalat 73'minutes
- 1de Gea
- 15SüleSubstituted forTahat 45'minutesBooked at 67mins
- 2KochBooked at 37mins
- 18GoretzkaSubstituted forNeuhausat 61'minutes
- 19SanéSubstituted forWaldschmidtat 61'minutes
- 9WernerSubstituted forHenrichsat 76'minutes
- Andreas Ekberg
- Shots on Target
Second Half ends, Spain 6, Germany 0.
Goal! Spain 6, Germany 0. Mikel Oyarzabal (Spain) right footed shot from the centre of the box to the centre of the goal. Assisted by José Gayà.
Corner, Spain. Conceded by Jonathan Tah.
Attempt blocked. Gerard Moreno (Spain) left footed shot from the centre of the box is blocked. Assisted by Fabián Ruiz.
Offside, Germany. Matthias Ginter tries a through ball, but Serge Gnabry is caught offside.
Offside, Spain. Rodrigo tries a through ball, but Marco Asensio is caught offside.
Offside, Germany. Toni Kroos tries a through ball, but Florian Neuhaus is caught offside.
Foul by Gerard Moreno (Spain).
Robin Koch (Germany) wins a free kick in the defensive half.
Serge Gnabry (Germany) hits the bar with a right footed shot from outside the box following a fast break.
Substitution, Germany. Benjamin Henrichs replaces Timo Werner.
José Gayà (Spain) wins a free kick in the defensive half.
Foul by Florian Neuhaus (Germany).
Substitution, Spain. Marco Asensio replaces Ferran Torres.
Substitution, Spain. Mikel Oyarzabal replaces Álvaro Morata.
Substitution, Spain. Gerard Moreno replaces Dani Olmo.
Goal! Spain 5, Germany 0. Ferran Torres (Spain) right footed shot from outside the box to the bottom right corner. Assisted by Fabián Ruiz.
Corner, Spain. Conceded by Robin Koch.
Jonathan Tah (Germany) is shown the yellow card for a bad foul.