England lost the Euros final for the second time in succession after a pulsating second-half went Spain's way in Berlin.
England had again recovered from going a goal down to draw level, before substitute Mikel Oyarzabal put Spain ahead for a second time with just minutes remaining.
Declan Rice and Marc Guehi both had headers saved on the line as England threw everything at finding an equaliser, but the favourites held firm for a dramatic 2-1 win.
🇪🇸 SPAIN HAVE THE LEAD AT THE DEATH! 🇪🇸
— ITV Football (@itvfootball) July 14, 2024
A beautiful move down the left-hand side...#ESPENG | #Euro2024 pic.twitter.com/8YdnhcSTwl
It was England who had perhaps ended a largely insipid first half on top and would have been buoyed to return to the pitch with Spain forced to make a change, Rodri substituted due to injury.
But within two minutes Spain were ahead, birthday boy Lamine Yamal cutting inside and playing in Nico Williams who, in space, drilled a low shot past Jordan Pickford.
Williams had been Spain's one persistent threat prior to his goal and fired wide again soon after as Spain sought a second, England responding by withdrawing captain Harry Kane to bring on semi-final hero Ollie Watkins.
Spain though continued to look more threatening, Yamal forcing an excellent save out of Pickford before Fabian Ruiz blasted over the bar from 25 yards out.
Gareth Southgate made his next move on 70 minutes when Cole Palmer replaced Kobbie Mainoo and it proved as inspired as the introduction of Watkins in the semi-final, as Palmer side-footed home from 20 yards after a Jude Bellingham lay-off.
COLD PALMER 🥶
— BBC Sport (@BBCSport) July 14, 2024
ENGLAND ARE LEVEL!#BBCEuros #Euro2024 #ESPENG pic.twitter.com/dkSBpfzr18
It would have been hard to argue that it had been coming, Pickford having been called into action moments earlier, and he was the hero again when saving from Yamal for a second time with less than 10 minutes of normal time remaining.
Spain were now on top again and after wave after wave of pressure, substitute Oyarzabal finished from close range to put them within touching distance of glory.
Southgate threw on Ivan Toney but it was from the head of two less likely threats that they came closest, Rice's powerful attempt saved before Guehi's follow-up was cleared off the line.
Four minutes of added time followed but England could not find an opening and came up one match short again, just as they had at Euro 2021, and Spain became the first side to win four European Championships.