Spain booked a last-16 World Cup clash with hosts Russia after a last-gasp 2-2 draw against already eliminated Morocco in Kaliningrad.
The 2010 champions started Monday on top of Group B but seemed certain to slip below their Iberian rivals in the final table as both matches entered stoppage-time with Portugal and Morocco leading.
Spain went behind when Andres Iniesta and captain Sergio Ramos somehow allowed Khalid Boutaib to seize upon a loose ball and run clear to score Morocco's first goal at the finals since 1998.
Iniesta soon made amends, though, skipping through the Morocco defence to set up Isco for a quickfire leveller, with La Roja unable to break down their opponents despite dominating.
When Morocco substitute Youssef En-Nesyri got up highest to thump home a brilliant header from a Faycal Fajr corner with nine minutes to go, Herve Renard's men looked set to claim a memorable victory.
But after another substitute, Iago Aspas, tucked in a superbly improvised finish that survived a lengthy VAR review for offside, while Iran struck a late penalty, La Roja somehow finished top of the group.
VAR awards Iago Aspas a goal off the corner to pull Spain back level! pic.twitter.com/KzNS9LPN4A— FOX Soccer (@FOXSoccer) June 25, 2018
Spain showed signs of their bewitching best in possession but Fernando Hierro's side must show serious improvement in the knockout stages if they have ambitions to claim their second World Cup.
A testy start to the game saw Gerard Pique perhaps fortunate to avoid punishment for a two-footed lunge on Boutaib.
Morocco's lone forward then gave his side a shock lead in the 14th minute, capitalising on a terrible mix-up between Ramos and Iniesta.
MOROCCO TAKE THE LEAD OVER SPAIN!— FOX Soccer (@FOXSoccer) June 25, 2018
Iniesta and Ramos lose the ball in midfield and Boutaib takes advantage. pic.twitter.com/s1GpylxGI5
The duo's shared lapse in concentration allowed Boutaib to steal possession on the halfway line, burst through on goal and slot a neat finish through the legs of David de Gea.
That goal proved Spain's wake-up call, Iniesta and Diego Costa combining quite brilliantly to set up Isco for a slammed close-range finish that levelled the scores five minutes later.
Iniesta makes up for his mistake!— FOX Soccer (@FOXSoccer) June 25, 2018
A beautiful team goal ends with an Iniesta assist to Isco that makes it 1-1. pic.twitter.com/g9FvCMJYRO
Boutaib scampered clear again in the 25th minute when Morocco took a quick throw-in, but De Gea - beaten from all four shots on target he had faced at the World Cup - stayed tall to save.
Morocco threatened to lose their discipline with Nordin Amrabat, Manuel da Costa and Moubarak Boussoufa all booked in a tempestuous three-minute period before Sergio Busquets planted a free header from Isco's corner over the crossbar.
Pique was lucky again early in the second half when the defender appeared to handle the ball in the box, with Morocco agonisingly close to regaining the lead in the 55th minute.
Given space to let fly from at least 25 yards out, Amrabat's strike had De Gea completely beaten but the goalkeeper gratefully saw the ball bounce off the woodwork.
Morocco *nearly* re-take the lead as Amrabat hits the woodwork! pic.twitter.com/4qRIcNsBoT— FOX Soccer (@FOXSoccer) June 25, 2018
Isco thought he had added to his nine Spain goals scored since the start of 2017 with his looping header dipping under the crossbar, but Romain Saiss made a sensational clearance, Pique heading wide from the resulting Isco corner.
What a save by the defender!— FOX Soccer (@FOXSoccer) June 25, 2018
Saiss comes up big for Morocco to keep the score level vs Spain. pic.twitter.com/Wlly09snSj
Hierro introduced Marco Asensio and Iago Aspas as Spain sought a late winner but Morocco's determined defending held them at bay.
Although only Iran shocking Portugal could have dumped Spain out, En-Nesyri thundered home a stunning header that left De Gea helpless again.
🚨 MOROCCO RE-TAKE THE LEAD! 🚨 pic.twitter.com/4S258VcHDF— FOX Soccer (@FOXSoccer) June 25, 2018
And when Aspas turned home Dani Carvajal's cross after a short corner - the goal given by VAR after a long delay, Spain were level in the first minute of added time.