Robert Lewandowski fired Poland in front inside two minutes, but Renato Sanches hit a spectacular equaliser before the interval.
The tempo of the second half could not match the first and depleted further still in extra time.
A penalty shootout was required to determine the victor and it is Portugal who go through to the last four, despite being yet to win a game inside 90 minutes throughout the tournament.
Poland's star-striker Lewandowski came into the game having failed to net so far in the competition.
But form is temporary, class is permanent, and inside two minutes the drought was over.
Portugal right-back Cedric Soares missed his header, Kami Grosicki took advantage and carried the ball down the left-flank before crossing for Lewandowski to beat Rui Patricio at his near post with a powerful first-time finish.
But, moments after Cristiano Ronaldo was denied what seemed a sure-fire penalty when going down under a challenge from Michal Pazdan Portugal equalised.
Bayern Munich-bound Sanches, the youngest player to start a game for Portugal at a major championship, let fire from 18 yards and his powerful effort deflected in off Grzegorz Krychowiak.
The magic of those first 45 minutes could not be replicated with Ronaldo missing twice when in good positions.
But Portugal did eventually advance after Blaszczykowski was denied and substitute Ricardo Quaresma blasted in the decisive spot-kick.
Poland (4-4-2): Fabianski 6, Piszczek 6, Glik 6, Pazdan 7, Jedrzejczyk 6, Blaszczykowski 6, Krychowiak 6, Maczynski 6, Grosicki 7, Lewandowski 7, Milik 6
Portugal (4-4-2): Rui Patricio 7, Cedric 5, Pepe 8, Jose Fonte 6, Eliseu 6, William Carvalho 7, Joao Mario 5, Renato Sanches 7, Adrien Silva 5, Nani 5, Cristiano Ronaldo 6
Referee: Felix Brych 6/10
Match rating: 2/5
Star man: Pepe (Portugal)