The Portuguese outfit went into tonight's second leg at the Stadio Olimpico level at 1-1, but Roma saw two players sent off as Porto condemned them to Europa League football with a 3-0 victory on the night.
The visitors soon took the lead both on the night and on aggregate, though, and it was a moment of atonement for Felipe as he made up for his own goal in the first leg by nodding in Otavinho's free kick at the far post.
That left Roma needing two goals if they were to progress in normal time, and they quickly began pushing for the first of those as Nainggolan steered a powerful header narrowly over the crossbar.
It was the Italian outfit who continued to look most like scoring as the half progressed, and Casillas was once again needed to deny Mohamed Salah in the closing stages of the opening 45 minutes.
However, the hosts' hopes of progressing into the group stages were dealt a major blow with just over five minutes remaining before the interval when Daniele De Rossi was shown a straight red card for a late and high tackle.
The veteran, who was filling in as an emergency centre-back after Thomas Vermaelen had been sent off on his debut during the first leg, could have no complaints at the decision as he received the 11th red card of his Roma career.
Porto almost made their newfound numerical advantage pay during first-half stoppage time, but Hector Herrera sent his effort narrowly past the post having been found unmarked inside the box.
Roma already had a difficult task ahead of them as they began the second half, but it became even tougher five minutes after the restart when Emerson was also shown a straight red card for another late and high challenge.
Porto still only had a one-goal advantage, though, and missed another chance to make things more comfortable when Otavinho fired just wide from the edge of the penalty area.
Two quickly became three as Porto extinguished any Roma hopes of a dramatic late comeback courtesy of a fine solo effort from Jesus Corona, who breezed past one defender before firing his finish into the roof of the net.
Nainggolan almost notched a late consolation for the home side, but they were unable to overcome their numerical disadvantage as they slumped to a convincing defeat.