Cristiano Ronaldo equalled the all-time tournament scoring record and set up the other goal as Portugal beat Wales 2-0 on Wednesday for a place in the final of Euro 2016.
Ronaldo broke the deadlock with a fierce header in the 50th and Nani latched onto his shot three minutes later to clinch victory for Portugal.
Portugal could have scored more goals against a Wales team around Ronaldo's Real Madrid team-mate Gareth Bale which finally ran out of steam, allowing Portugal to win a game in 90 minutes for the first time with their best showing at the tournament.
In Sunday's final at the Stade de France in Saint-Denis, Portugal meet either hosts France or world champions Germany.
Man-of-the-match Ronaldo and Bale talked and embraced after Portugal advanced from their seventh major semi-final into only their second final. They lost the first decider at home in Lisbon to Greece at Euro 2004.
"I always dreamt of winning something for Portugal and its just one step away ... I hope that we can leave the pitch with a smile on Sunday and not with tears in our eyes as in 2004," Ronaldo said.
The captain also insisted: "We are a team, Portugal is not all about me ... I have tried to help as much as I can, not by scoring but also by fighting and giving it all."
Coach Fernando Santos, in charge since 2014, spoke of "the highest point in my career ... My first game was at Saint-Denis (a friendly) and I said I want to be back two years later. We are in it to win it."
Ronaldo equalled Michel Platini's scoring record of nine goals and is the only man to score in four Euros. He also the most appearances at the continental finals with now 20 games. Platini scored all his nine goals in 1984 en route to France's title on home ground.
Euro debutants Wales had been bidding to become the only British side apart from England, at the 1966 World Cup, to reach a major final.
The were however unable to reproduce their form from previous games including the 3-1 quarter-final victory over Belgium, and lacked the inspiration of suspended Arsenal player Aaron Ramsey, but were sent off by their extraordinary fans with ovations after the final whistle.
"I am immensely proud of the team, it is incredible what they have done and how they have performed. Getting to the semis is amazing," manager Chris Coleman said.
"I knew the first goal would be crucial ... We just lost our concentration for five minutes and if you are up against this quality you are going to be punished."
Leicester's Andy King took Ramsey's place and West Ham's James Collins came on for the also suspended Ben Davies as right back.
Portugal defender Pepe had not recovered in time from a thigh muscle problem and was replaced by Fenerbahce's Bruno Alves, while Danilo came on for suspended William Carvalho.
Ronaldo felt unfairly treated early on when captain Ashley Williams barely stopped him after a mistake from midfield motor Joe Allen, who again blundered in the seventh and was booked when trying to limit the damage against Nani.
Ronaldo called for a penalty after Williams wrapped his arm around the Portuguese during a high cross but again Swedish referee Jonas Eriksson waved play on.
The first chance finally came in the 17th when Ronaldo set up Joao Mario but his shot from a right angle went past the far left post while Bale aimed high two minutes later off a low corner kick from Joe Ledley two minutes later.
Bale also shot into the arms of goalkeeper Rui Patricio before chances were sparse until Ronaldo could not place a header well enough on the stroke of half-time.
He did better though five minutes after the restart to break the deadlock, showing his aerial class with a thumping header off Mario's cross from the left after a short corner.
Wales had no time to recover as Nani doubled the lead just three minutes later, the new Valencia player latching onto a speculative shot from Ronaldo, with goalkeeper Wayne Hennessey stranded and Wales protesting offside in vain.
Ronaldo aimed a free-kick inches high and hit the side-netting late on, while Mario and Danilo also close as Portugal coasted home.
Wednesday, June 22, 2016 - 21:39
Friday, July 1, 2016 - 00:53
Saturday, June 11, 2016 - 20:13