Porto had already qualified for the last 16, but jumped over Club Brugge to finish as group winner with 12 points, one point for the Belgians who also advanced.
Atletico finished last and even failed to qualify for the knockout round of the Europa League.
Porto took the lead in the fifth minute when striker Taremi tapped in a cross from Evanilson, scoring his fifth Champions League goal of the season.
Midfielder Eustaquio doubled Porto’s lead in the 24th minute by drilling the ball into the bottom corner after Galeno sprinted to the left and made a cross into the penalty area.
Atletico’s Antoine Griezmann found the net after 68 minutes, but the referee had already blown the whistle for a foul by Rodrigo De Paul on Galeno, while Porto keeper Diogo Costa saved Angel Correa’s shot six minutes later.
Porto defender Ivan Marcano scored an own goal in added time, but it didn’t do much damage to Porto, who went on to seal three points.