Den platsen tog i stället Bayer Leverkusen som spelade 0–0 hemma mot Club Brygge.
Atlético och Leverkusen hamnade båda på fem poäng men tyskarna gick vidare tack vare inbördes möten.
Porto och Brygge hade redan sitt på det torra som klara slutspelsklubbar i Champions League. Kvällens sjätte och avslutande omgång i grupp B handlade om två saker:
+ Vem skulle vinna gruppen och skaffa sig bättre seedning när åttondelsfinalerna lottas?
+ Vem skulle nå räddningsplankan som grupptrea och nå slutspelet i Europa League. Atlético Madrid eller Bayer Leverkusen?
Det tog Porto fem minuter att strö ytterligare salt i tränaren Diego Simeones och Atléticos sår. Mehdi Taremis stötte in 1–0 från nära håll, hans femte mål i höstens Champions League och ett mål som satte Atlético under hård press.
Samtidigt öppnade Taremi för möjligheten att sno förstaplatsen i gruppen från Brygge. När Stephen Eustaquio ökade till 2–0 var saken mer eller mindre klar på Dragãostadion.
I andra halvlek räddade slovenske landslagsmålvakten Jan Oblak Atlético från ett än större nederlag.
Stefan Savics reducering kom alldeles för sent, i den femte och sista tilläggsminuten.
Porto inledde gruppspelet med två raka förluster, men har sedan dess gått rent och vann gruppen på 12 poäng, en före Brygge.
Bara en gång de nio senaste åren har Atlético Madrid misslyckats med att nå slutspelet i Champions League. Det var 2017, men den säsongen slutade ändå i succé eftersom klubben klev in i Europa League och vann turneringen efter 3–0 i finalen mot Marseille.