Robert Lewandowski rescued Poland with a second-half equaliser and Gerard Moreno missed a penalty as Spain were held to a 1-1 Euro 2020 draw at La Cartuja Stadium.
Álvaro Morata silenced his critics by opening the scoring in the Group E encounter in Seville on Saturday after coming under fire for his performance in a stalemate against Sweden.
A defeat would have ended Poland's hopes of qualifying for the round of 16, but their record goalscorer and captain Lewandowski equalised with a header nine minutes into the second half.
Moreno failed to put Luis Enrique's side back in front from the spot just after Lewandowski's leveller, leaving Spain and Poland third and fourth in the group respectively with one game to play.
La Roja were in front 25 minutes in, Morata turning in Moreno's tame shot from close range with his right foot and belatedly running away to embrace coach Luis Enrique after the VAR ruled he was onside.
Moreno, starting at the expense of Ferran Torres, curled a free-kick narrowly wide before Karol Swiderski volleyed a glorious chance to equalise off target from point-blank range.
Swiderski rattled the post with a thunderous left-foot drive and Lewandowski was denied by Unai Simon following up, with Moreno firing into the side-netting late in an entertaining first half.
Poland were level nine minutes into the second half, the prolific Lewandowski rising above Aymeric Laporte to brilliantly head home Kamil Jozwiak's inviting cross.
Lewandowski had barely finished celebrating when referee Daniele Orsato pointed to the spot after taking another look at Jakub Moder's tackle on Morata.
Moreno was unable to restore Spain's advantage, striking the post, and Morata failed to spare his blushes when he put the rebound wide with the goal gaping.
History was made when Poland substitute Kacper Kozlowski became the youngest player to feature in a European Championship aged 17 and 246 days in a tense encounter which remained in the balance.
Wojciech Szczesny spread himself magnificently seven minutes from time to thwart Morata as Spain endured a frustrating evening and Poland stayed alive.
What does it mean? All to play for as Spain fall short again
There were whistles at the final whistle after Spain fell short again, while Poland players celebrated remaining in the hunt to qualify.
Spain had 76.3 per cent of possession, but did not move the ball quickly enough, lacking intensity as they missed a chance to go top of the group and have failed to win the opening two games of a European Championship for the first time since 1996.
It is all to play for in the group, with Spain knowing a win over Slovakia will see them through and Poland facing a do-or-die battle with leaders Sweden.
Lethal Lewandowski steps up again
Poland needed something special in the second half and their skipper provided it yet again.
The prolific Bayern Munich striker rounded off a fine move with a towering header, becoming the first Poland player to score in three different European Championships and more importantly, prevented his side from being eliminated.
Mixed night for Moreno
Moreno showed flashes of his quality after being given the nod to start, but must hope his missed spot-kick is not costly.
The Villarreal talisman was off target with all four of his shots as Spain lacked a cutting edge.
Key Opta facts
- Following Moreno’s penalty miss, Spain have failed to score five of their last eight penalties (excluding shootouts) at the European Championships.
- Spain have now drawn each of their last four matches at major tournaments (World Cups and Euros), their longest ever run of draws across those two competitions.
- Morata has scored four of Spain's last five goals at European Championship finals; indeed, only Fernando Torres (five) has ever scored more goals in the competition for the nation.
Spain take on Slovakia at the same venue on Wednesday, when Poland come up against Sweden in St Petersburg.