Match ends, Portugal 3, Switzerland 1.
Portugal manager Fernando Santos described Cristiano Ronaldo as "a genius" after his superb hat-trick ensured Portugal reached the Nations League final with victory over Switzerland at the Estadio do Dragao.
Ronaldo, 34, had given the hosts the lead with a stunning first-half free-kick that flew into the bottom-right corner, wrong-footing Swiss keeper Yann Sommer.
Switzerland levelled in the second period when Ricardo Rodriguez tucked away a video assistant referee-awarded penalty - after Felix Brych had initially signalled for a penalty at the other end.
But after consulting his pitch-side monitor, referee Brych instead gave a spot-kick for Nelson Semedo's foul on Switzerland's Steven Zuber.
Incensed by the decision, the hosts struggled to build any rhythm as the game appeared to drift towards extra-time.
However, Ronaldo made the crucial difference late on, sweeping Bernardo Silva's cross into the corner of the net, before firing into the same spot 102 seconds later.
"In terms of adjectives to describe Ronaldo's game - I have used many," said Santos, Ronaldo's former manager at Sporting Lisbon.
"I was his coach in 2003 and I could see where he would go. There are genius paintings and sculptures and he is a football genius.
"When someone scores three goals, they are the difference maker."
Portugal play the winners of Thursday's semi-final between England and the Netherlands (19:45 BST), with the final in Porto on Sunday.
- 'He scored three… nothing new for him' - Ronaldo shines again on international stage
- Re-live Ronaldo's hat-trick as Portugal beat Switzerland
- Why Portugal are so much more than just Ronaldo
- Joao Felix - is this the most exciting player since Ronaldo?
Ronaldo underlines enduring class
Prior to this match, Ronaldo had featured just twice in Portugal's past eight international games, playing no part at all in their qualification for the semi-finals of this tournament.
After drawing blanks in the Euro 2020 qualifiers against Serbia and Ukraine in March, and in Portugal's final two games of the World Cup last summer, he once again demonstrated his enduring quality in the international arena.
He may no longer be at the peak of his powers, but 350 days after scoring his last international goal, he added to his tally by winning and scoring from a free-kick.
In trademark fashion he dipped the ball over the Switzerland wall and it was past Sommer in a flash with the goalkeeper unable to readjust.
And his importance as the scorer of great goals came to the fore with Santos' team struggling to find answers against a resourceful and purposeful Swiss side.
A darting run moved him onto Silva's cross and a step-over and shimmy gave him the space to dispatch another clinical strike to make the game safe for the European champions.
It brought up his 53rd hat-trick for club and country, and he now sits second on the all-time international top scorers chart with 88 goals in 157 matches, with only Iran's Ali Daei (109) ahead of him.
"Both the Netherlands and England are excellent teams and either will present great opposition," said Ronaldo when asked about Sunday's Nations League final.
"I hope that Portugal can win, that the stadium will be full and that the fans can support us like they did today. We are stronger together."
VAR almost derails Portugal
While Portugal had been labelled favourites in this tie by Swiss boss Vladimir Petkovic, his team enjoyed more shots and greater possession than the hosts.
Inspired by Liverpool midfielder Xherdan Shaqiri, the Swiss carved out several goalscoring chances before falling behind to Ronaldo's free-kick.
Shaqiri and Haris Seferovic both went close, with the Benfica forward smashing a sweetly struck shot against the crossbar.
But when their deserved equaliser arrived it came in bizarre fashion, with Silva going down and appearing to win a penalty for Portugal before VAR intervened.
Instead of Ronaldo shaping up to take a spot-kick from 12 yards, play was brought back to deal with an earlier incident between Semedo and Zuber in the Portugal penalty area.
And the faintest of touches from the Barcelona full-back, on Zuber, who initially appeared to trip over his own legs, convinced the referee to award the unlikeliest of penalties against the hosts.
"Portugal had street smarts, they had the cherry on top of the cake and that made the difference. Four shots, three goals," said manager Petkovic.
"On the one hand we were up against a very strong opponent, but over 90 minutes we showed we are a strong team and that we can make life for a top side difficult too."
Man of the match - Cristiano Ronaldo (Portugal)
Switzerland's Portuguese woe continues - the stats
- Portugal have won five of their past eight games against Switzerland (D1 L2), despite conceding in six of those matches.
- This is the first encounter between Portugal and Switzerland to see both sides score since March 1993 (1-1 in a World Cup qualifier).
- Switzerland are winless in their past nine games played in Portugal (including Euro 2004), losing seven and drawing twice since a 2-0 victory against Portugal in a World Cup qualifier in April 1969.
- Portugal have lost just one of their past 16 games across all competitions (W6 D9) and are unbeaten since a 2-1 defeat against Uruguay in the 2018 World Cup (P9 W4 D5 L0 since).
- Two of Cristiano Ronaldo's past five goals for Portugal have come from direct free-kicks; only two of his previous 52 goals prior to this were scored in the same manner.
- Ricardo Rodriguez's past three goals for Switzerland - and five of his past six - have been penalties.
- Only Strahil Popov for Bulgaria (four) and Benjamin Kololli for Kosovo (five) have been directly involved in more goals among defenders in this Nations League campaign than Switzerland's Ricardo Rodríguez (three - two goals, one assist).
Portugal play the winners of Thursday's semi-final between England and the Netherlands (19:45 BST) in the Nations League final in Porto on Sunday (also 19:45). Switzerland will take part in Sunday's third-place play-off at 14:00.
- 1Rui Patrício
- 20Nélson Semedo
- 3PepeSubstituted forJosé Fonteat 63'minutes
- 4Rúben Dias
- 16Bruno FernandesSubstituted forJoão Moutinhoat 90+1'minutes
- 14William Carvalho
- 10Bernardo Silva
- 23SequeiraSubstituted forGonçalo Guedesat 70'minutes
- 7Cristiano Ronaldo
- 6José Fonte
- 8João Moutinho
- 9Ferreira Sousa
- 12Malheiro de Sá
- 15Ferreira Silva
- 17Gonçalo Guedes
- 19Mário Rui
- 21Afonso Fernandes
- 22SchärBooked at 68mins
- 17ZakariaSubstituted forFernandesat 71'minutes
- 10XhakaBooked at 66mins
- 8FreulerSubstituted forDrmicat 89'minutes
- 14ZuberSubstituted forSteffenat 83'minutes
- 23ShaqiriBooked at 85mins
- Dr. Felix Brych
- Shots on Target
Second Half ends, Portugal 3, Switzerland 1.
Renato Steffen (Switzerland) wins a free kick on the left wing.
Foul by Nélson Semedo (Portugal).
Foul by Fabian Schär (Switzerland).
Raphael Guerreiro (Portugal) wins a free kick in the defensive half.
Corner, Switzerland. Conceded by Nélson Semedo.
Substitution, Portugal. João Moutinho replaces Bruno Fernandes.
Goal! Portugal 3, Switzerland 1. Cristiano Ronaldo (Portugal) right footed shot from the centre of the box to the bottom right corner. Assisted by Gonçalo Guedes following a fast break.
Substitution, Switzerland. Josip Drmic replaces Remo Freuler.
Goal! Portugal 2, Switzerland 1. Cristiano Ronaldo (Portugal) right footed shot from the centre of the box to the bottom right corner. Assisted by Bernardo Silva.
Foul by Manuel Akanji (Switzerland).
Gonçalo Guedes (Portugal) wins a free kick on the right wing.
Foul by Fabian Schär (Switzerland).
Cristiano Ronaldo (Portugal) wins a free kick in the defensive half.
Attempt missed. Fabian Schär (Switzerland) right footed shot from outside the box is high and wide to the right. Assisted by Xherdan Shaqiri.
Xherdan Shaqiri (Switzerland) is shown the yellow card for a bad foul.
Foul by Xherdan Shaqiri (Switzerland).
Gonçalo Guedes (Portugal) wins a free kick in the attacking half.
Remo Freuler (Switzerland) wins a free kick in the defensive half.