Schalke boss Domenico Tedesco said his side were worthy losers after Porto secured top spot in Group D of the Champions League with a 3-1 win.
Both Porto and Schalke were already certain of their places in the knockout stage heading into Wednesday's encounter, but the Primeira Liga leaders knew a victory would be enough to claim pole position and, in theory, an easier tie in the last 16.
Goals from Eder Militao, Jesus Corona and Moussa Marega proved the difference, with Nabil Bentaleb's penalty a mere consolation.
And Tedesco, whose side were unbeaten in the opening four fixtures, acknowledged Schalke's display was not up to scratch.
"We definitely deserved to lose," Tedesco told reporters.
"The first half wasn't that bad – we only let them have two shots on goal.
"We didn't start the second half well enough and were suitably punished by our strong opponents.
"They pressed us well at the start of the game, which made it very difficult for us. We were missing that cutting edge up front too."
Ralf Fahrmann had to be at his best to deny Porto in the first half, but he was finally beaten when Militao headed home in the 52nd minute, with Corona soon making it two.
Bentaleb's spot-kick handed Schalke an unlikely lifeline, only for Marega to wrap up the points in stoppage time.
Last 16 confirmedGroup D winnersPorto November 28, 2018
Like Tedesco, Sergio Conceicao now has the luxury of being able to rest his star men in the final group game, but Porto's coach wants his side to maintain their high standards.
"We played a fantastic second half. We could have scored two or three more goals," he told a news conference.
"But even now when we think it's okay, it's not. We have to be alert all the time, it's in these positive moments that we let ourselves relax a little and I do not like it.
"We need to improve."
Get the best features, fun and footballing frolics straight to your inbox every week.