Cristiano Ronaldo opened scoring in the 25th minute with a 25-yard free-kick
Ricardo Rodriguez equalised with penalty following controversial VAR review
Portugal awarded a penalty, only for play to be brought back for Swiss spot-kick
Ronaldo scored twice in final two minutes to grab his hat-trick.
Portugal starting XI: Rui Patricio, Nelson Semedo, Pepe (Fonte), Ruben Dias, Guerreiro, Carvalho, Neves, Fernandes (Moutinho), Silva, Felix, Ronaldo
Switzerland starting XI: Sommer, Rodriguez, Akanji, Schar, Mbabu, Zuber (Steffen), Zakaria (Fernandes), Xhaka, Freuler (Drmic), Shaqiri, Seferovic
Portugal and Switzerland will host the first semi-final in the Nations League.
Winner will face either England or Holland in Sunday’s final in Porto