Thibaut Courtois slog bort en nick av Rúben Dias, sedan räddades Belgien av stolpen, och sedan av Courtois igen.
Det var en skakig sista kvart för det belgiska landslaget, men när allt var sagt och gjort räckte Thorgan Hazards mål för att vinna matchen med 1–0.
Mål och skada
Zzzzz – och sedan slog han till.
I 41 minuter var det stiltje på La Cartuja-stadion i Sevilla – tills lillebror Hazard fick bollen i vänsterposition utanför straffområdet. 28-åringen fick utrymme för att avsluta och smällde till med ett vristskott som dök in i Rui Patrícios bortre hörn.
– Jag fick en bra boll och i en sådan här match måste man ta alla chanser. Målvakten förväntade sig nog att den skulle gå åt andra hållet än den gjorde, säger matchvinnaren i en tv-intervju.
Belgien kunde därmed gå in i pausvila med en 1–0-ledning.
Tidigt i andra halvlek kom däremot ett avbräck för belgarna. Manchester City-stjärnan Kevin de Bruyne tvingades lämna planen på grund av en skada och ersattes av Dries Mertens.
Stolpträff för Portugal
Portugals förbundskapten Fernando Santos gjorde också förändringar tidigt i andra halvlek. In kom anfallslöftet João Félix och Manchester United-mittfältaren Bruno Fernandes för att öka trycket mot Belgiens mål.
Det successivt ökade trycket nådde sin kulmen med knappt tio minuter kvar av ordinarie tid. Först fick mittbacken Rúben Dias ett öppet nickläge på hörna, men styrde avslutet rakt på Courtois.
Minuten efter fick Raphaël Guerreiro ett skottläge vid straffområdeslinjen – men träffade stolpen.
Pressen fortsatte, men Portugal lyckades inte komma närmare än så. Den regerande mästaren är utslagen, och Belgien kan blicka fram mot en kvartsfinalbatalj mot Italien i München.
– Jag är stolt över mina lagkamrater, de försvarade väldigt bra. Italien kommer också att bli tufft, men vi visade i dag att vi är redo för det, säger Courtois enligt Europeiska fotbollsförbundet Uefas hemsida.