Cristiano Ronaldo scored his first hat-trick for Portugal in 12 months as they reach the Uefa Nations League final on Wednesday night.
His treble, two of which came in the closing minutes, saw them get past Switzerland 3-1 in their semi-final in Porto.
They will now face either England or the Netherlands in Sunday's final.
It was the Juventus man's second hat-trick of the 2018-19 season, the first coming for his club side against Atletico Madrid in March, but first for his country since he bagged three goals against Spain at the World Cup in Russia last summer.
His first effort had come in the 25th minute with a free-kick, but Switzerland levelled 11 minutes after half time in controversial fashion.
Portugal thought they had won a penalty after Bernardo Silva, but VAR instead went back and saw an offence at the other end of the field moments earlier and Switzerland instead got the spot-kick, which Ricardo Rodriguez converted.
But Portugal, the European champions, were not to be denied, as Ronaldo struck in the 88th minute to restore the lead and then sealed victory in stoppage time.
England and the Netherlands play their semi-final on Thursday night in Guimaraes, with the game kicking off at 10.45pm UAE time.