Vincent Aboubakar scored twice as Porto eased into the Champions League last 16 by thrashing Monaco 5-2 in a game that saw both sides reduced to 10 men.
Sergio Conceicao's men needed a win to guarantee second spot in Group G ahead of RB Leipzig and a place in the first knockout round - where they fell at the hands of Juventus a year ago - and they might light work of a poor Monaco side at Estadio do Dragao.
Champions League recap: All the action as it happened
Aboubakar took advantage of the Ligue 1 champions' pedestrian defending to score twice inside the opening 33 minutes before Felipe and Rachid Ghezzal were sent off following a clash in the centre circle.
Yacine Brahimi extended Porto's lead before half time and when Kamil Glik pulled one back for Leonardo Jardim's beleaguered troops with a penalty just after the hour mark, Porto ruthlessly powered forward to restore their three-goal cushion through Alex Telles.
Second-half substitute Radamel Falcao then scored against his former club but there was to be no Monaco fightback as Tiquinho Soares wrapped up a result that leaves Monaco out of the competition with four defeats and two draws from six games, ending a miserable campaign from last season's semi-finalists.
Porto, meanwhile, will hope for a favourable draw as they aim to go one better than 2016-17 and reach the quarter-finals.