Cristiano Ronaldo's team are yet to win in 90 minutes. They drew all three group stage matches, hit a 117th-minute winner against Croatia in the last-16 and required a penalty shootout to see off Poland in the quarter-finals.
Next it will be Wales or Belgium and either of those teams will fancy their chances to knock out the 2004 runners-up.
Poland will feel hard done by to be going home. They did not trail for a single minute at these finals, but a missed penalty from their star in France Jakub Blaszczykowski was enough to end their charge.
Hero of the match
Renato Sanches. After waiting patiently for his first chance to be unleashed, the Bayern Munich-bound star scored a fine goal.
He became the youngest ever player to start for Portugal at a major tournament and the third-youngest goalscorer ever at the European Championship.
He most certainly has a bright future.
Zero of the match
Jakub Blaszczykowski. Incredibly harsh on the man who has led Poland's charge at these finals, but Blaszczykowski was the only man to miss in the penalty shootout and now his team are going home.
It's tough at the top.
Moment of the match
Robert Lewandowski's second-minute goal. After Portugal played out a stalemate with Croatia in the last-16, they were forced to play on the front foot here having conceded so early on. Lewandowski's goal was the second quickest ever at a European Championship too.
Felix Brych controlled the game well and dished out four yellow cards, but should have awarded Portugal a first-half penalty after Cristiano Ronaldo was fouled by Michal Pazdan.
Renato Sanches (Portugal): "Right now things are going well for the side. We gave our best on the pitch and critics only made us stronger.
"It is a wonderful moment for the team, for me for scoring, we have been working very hard and we have been doing our best.
"People criticise us but we donâ€™t care, because we are in the semi's.
"We conceded very early but we believed until the end, we tried our best.
"After the team, it is important to receive individual accolades. I am happy to be man of the match again, but the individual comes after the team. That is how you build up a CV.
"It takes a lot of hard work to be this lucky. Sometimes we are bound to be lucky because we have worked very hard."
Did you know?
Robert Lewandowski's goal after 100 seconds was the second-fastest ever at a European Championship finals. The record is held by Russia's Dmitri Kirichenko who scored in 67 seconds against Greece in Euro 2004.
Stat of the Day
Portugal have qualified for seven European Championship finals and this is the fifth time they have reached the last four, though they are yet to win the competition.
Portugal will take on Belgium or Wales for a place in the Euro 2016 final on Wednesday in Lyon. Poland go home with heads held high having won a game at a European Championship for the first-time ever in France.