- Mehdi Taremi (5')
- Stephen Eustáquio (24')
- Iván Marcano (90'+4' OG)
Goals from Mehdi Taremi and Stephen Eustaquio helped Porto to a 2-1 win against Atletico Madrid which meant they finished top of their Champions League group and condemned Atletico to an early European exit.
Porto had already qualified for the last 16 but they leapfrogged Club Brugge to finish as group winners with 12 points, one point ahead of the Belgians, who also went through.
Atletico finished last, failing to even qualify for the second-tier Europa League knockout round playoffs.
"What can I say? We didn't deserve to go through to the round-of-16, or the Europa League," Antoine Griezmann said.
"That's how it is. If you can only win one game in the group, that's what you get. We have to work, keep our mouths shut and fight.
"There isn't anything to say to the fans, just to thank them for the effort they make in the stadium and at home. They don't deserve this."
Porto went ahead in the fifth minute when forward Taremi tapped in a cross from Evanilson, registering his fifth goal in the Champions League this season.
Midfielder Eustaquio doubled Porto's lead in the 24th minute, drilling the ball into the bottom corner after Galeno sprinted down the left and offloaded inside the box.
Griezmann found the net in the 68th minute but the referee had already blown the whistle for a foul from Rodrigo De Paul on Galeno in the build-up, while Porto keeper Diogo Costa saved from Angel Correa six minutes later.
Porto defender Ivan Marcano scored an own goal in added time, but it did not do much damage to Porto as they went on to seal the three points against Diego Simeone's side.
"We tried, but they were much better in every sense," Simeone said. "There are a lot of things we could say, but it's obvious that we're not OK.
"They were superior. We deserve to finish bottom of the group. Europe is behind us now, we have the league and we hope to improve."
Atletico defender Jose Maria Gimenez said he could not understand his side's recent struggles.
"The team is pissed off," Gimenez said. "I can't find an explanation for what happened today, what's happened in the last few games.
"We work so hard in training, we live for this... then the game comes and we're not clinical. This is the Champions League. We're creating chances and not taking them."
- Daniele Orsato