Morata ended his scoring drought by putting Spain ahead in the 25th minute, but Lewandowski evened things in the 54th with a header for only his third goal in 13 appearances with the national team at a major tournament.
"It's another win that we let slip away from us," Morata said. "Now we have a final to play."
The result leaves Sweden at the top of Group E with four points after its win over Slovakia on Friday. Slovakia is second with three points while Spain has two.
Poland still has a chance of advancing despite being last in the group with one point.
"We are frustrated because the ball doesn't want to go in," Spain midfielder Rodri Hernández said.
"We have to take advantage of our opportunities. When the ball doesn't go in we start to doubt ourselves."
Spain had also dominated in the opener against Sweden but couldn't capitalize on its many scoring chances in the match that ended in a 0-0 draw.
It again paid for its mistakes in front of the net at La Cartuja Stadium, squandering some good scoring opportunities and being unable to keep Lewandowski in check in one of the few significant chances Poland had in attack.
Lewandowski, who entered the tournament with only two goals at either a World Cup or a European Championship, was under the spotlight after being held scoreless in the team's 2-1 loss to Slovakia in the opener.
He had a clear chance to break his drought in the first half against Spain when he picked up a rebound inside the area and found himself free from markers in front of the net. But he could not get the ball past Spain goalkeeper Unai Simón, who stopped it with his chest.
The rebound came after a shot by Karol Swiderski hit the post.He didn't miss in the second half, heading a cross into the corner after using his body to bump into defender Aymeric Laporte. It was Lewandowski's 67th goal in 121 appearances for Poland.
Morata had been singled out by fans and Spanish media for his misses in the opener against Sweden, but he found the net from close range after making a nice move around his marker.
The goal was initially called off for offside but eventually was confirmed after a quick video review.
Morata ran toward the bench to celebrate with coach Luis Enrique, who kept him in the starting lineup despite the criticism.
The pass to Morata for the goal came from Moreno, the only change to the squad made by Luis Enrique after the opening draw.
Fans had been calling for Moreno to play from the start of Euro 2020 following his superb season with Villarreal, but he missed the penalty kick that could have put Spain back in front on Saturday.
"Gerard didn't miss a penalty the entire season," Spain defender Pau Torres said. "It's soccer."
At 17, Poland midfielder Kacper Kozlowski became the youngest player in the history of the European Championship after going on as a substitute just before Lewandowski scored.Kozlowski was born on Oct. 16, 2003.
England midfielder Jude Bellingham, who was born on June 29, 2003, held the milestone for only six days.
Spain was still without captain Sergio Busquets, who returned to the squad on Friday after being cleared of COVID-19.