Ungern fick en drömstart på matchen. Zoltan Gera gjorde 1-0 i den 19:e minuten med ett skott som slank in vid Rui Patricios vänstra stolpe. Det var efter en hörna som bollen hamnade hos Gera, efter att Nani misslyckats rensa undan med en nick.
Men Nani fick sin revansch. I den 42:a minuten hittade Cristiano Ronaldo fram med en djupledspass som gav Nani ett friläge. Det förvaltade han väl och placerade in 1-1 längs med marken.
Direkt i inledningen av den andra halvleken gjorde Balazs Dzsudzsak 2-1 till Ungern. Hans frispark, från någon meter utanför straffområdeslinjen, nickades i mål av en spelare i Portugals mur.
Men den ledningen höll bara i någon minut, innan Cristiano Ronaldo klackade in ett inlägg i det bortre hörnet. 2-2-målet gjorde stjärnan historisk. Han är nu den förste någonsin att ha gjort mål i fyra olika EM-slutspel.
Kort därefter gjorde dock Ungern 3-2. Balazs Dzsudzsak satte sitt andra för dagen när han via en Portugal-försvarare sköt in bollen i det bortre hörnet.
Efter en timmes spel kvitterade sen Cristiano Ronaldo. Han nickade in 3-3 i det bortre hörnet och gjorde då sitt andra mål för kvällen.
Under den avslutande kvarten var Ungern hårt tillbakapressat och hade väldigt lite av bollen men kunde hålla undan för att säkra en poäng som innebär att de vinner grupp F - en rejäl EM-skräll.
Skulle Sverige slå Belgien väntar Ungern i slutspelet.
Se höjdpunkterna från matchen i spelaren ovan.
Ungerns startelva: Kiraly - Lang, Juhasz, Guzmics, Korhut - Gera, Pinter, Elek, Lovrencsics - Dzsudzsak, Szalai
Portugals startelva: Patricio - Vierinha, Pepe, Carvalho, Eliseu - Carvalho, Mario, Moutinho, Gomes - Nani, Ronaldo