Already qualified Leicester City suffered the worst defeat by an English team in the Champions League as Porto recorded an overwhelming victory to join the Foxes in the last 16.
Leicester were already assured of progressing as Group G winners before the game and boss Claudio Ranieri made 10 changes to his starting XI.
Porto needed to win to guarantee their place in the knockout stage and made the ideal start when Andre Silva headed home.
The Portuguese side dominated throughout, with Leicester rarely making it out of their own half, and added a deserved second through Jesus Corona’s stunning volley.
Yacine Brahimi then scored a brilliant third just before half-time, backheeling Maxi Pereira’s cross beyond goalkeeper Ben Hamer, before Silva converted a second-half penalty following Danny Drinkwater’s foul.
Diogo Jota rounded off the scoring late on, slotting home after being put through on goal.
The result took some of the shine off Leicester’s previous performances in the Champions League this season, but they can now look forward to the draw for the last 16, which takes place on Monday at around 11:00 GMT.