Olympiakos secured a third-place finish in its Champions League group to drop into the last 32 of the Europa League despite a 2-0 home loss to Porto on Wednesday.
Marseille could have climbed above Olympiakos by bettering the Greek team's result on the final round of group games, but lost 3-0 at Manchester City. Olympiakos finished tied for points with Marseille but had a superior head-to-head record.
Otavio and substitute Matheus Uribe led Porto to its fourth Champions League win of the season after playing a largely second-string side.
Porto was awarded a penalty in the 10th minute following a lengthy consultation with the video assistant referee before Jose Holebas was penalized for handling the ball.
Otavio scored from the spot and his teammates looked comfortable absorbing the pressure before Uribe sealed the game with a powerful shot through the Olympiakos players in the 77th.
Having already secured second place to advance to the knockout stage, Porto coach Sergio Conceicao rested several regular starters but his young players effectively held Olympiakos back at an empty Georgios Karaiskakis Stadium.
In a game with little goalmouth action, the Greek team missed two clear chances to equalize.
In the 15th, Giorgos Masouras skillfully controlled a long ball from Andreas Bouchalakis but shot over the bar with only goalkeeper Diogo Costa to beat.
Youssef El-Arabi shot wide in the 54th with Porto's defense out of position.