Berne: AS Roma suffered a major European humiliation on Tuesday, when they had two players sent off, losing 3-0 at home to Porto and missed out on the Champions League group stage.
After drawing 1-1 in Portugal in the first leg of the play-off tie, Roma started as favourites but never recovered after Felipe gave the visitors an eighth-minute lead.
They imploded completely when Daniele de Rossi and his replacement Emerson Palmieri were both shown straight red cards either side of half-time.
Monaco joined Porto in the Champions League, after beating Villarreal 1-0 after a late penalty by Fabinho sealed a 3-1 aggregate win. Legia Warsaw, Celtic and Ludogorets Razgrad also qualified, although none of them won on the night.
Ten-man Legia drew 1-1 at home with Irish part-timers Dundalk, but progressed 3-1 on aggregate to become the first Polish side to reach the group stage of Europe's premier club competition for 20 years.
Former European champions Celtic squeezed past Hapoel Beer Sheva 5-4 on aggregate despite a 2-0 loss in Israel, while Ludogorets held Viktoria Plzen 2-2 away to secure a 4-2 aggregate win.
Roma became the third successive Serie A team, and the sixth in the last eight seasons, to lose in the play-off round, leaving Italy with only two representatives — Juventus and Napoli — in Thursday's group-stage draw.
Roma have had their fair share of recent European disasters after losing 6-1 to Barcelona last season and 7-1 at home to Bayern Munich two years ago, but not even they could have imagined how Tuesday's game would unfold.
Their initial confidence was shattered when Felipe headed Porto in front from Otavio's cross, but the real trouble began in the 39th minute when midfielder de Rossi was sent off for a high tackle on Maxi Pereira.
Amid angry Roma protests, he was replaced by Palmieri, who lasted only 11 minutes, before he too was dismissed for a shocking lunge.
Roma goalkeeper Wojciech Szczesny also booked his place in the rogues' gallery with a reckless charge out of his goal which allowed Miguel Layun to slot Porto's second into an empty net. Almost immediately, Jesus Corona turned his marker inside out before scoring the third.
Dundalk, beaten 2-0 at home, made a brave effort in Poland and went ahead when Robert Benson thundered home an unstoppable volley in the 19th minute.
The Irish side were given further hope when Legia's Adam Hlousek was sent off in the 67th minute, but they were caught on the break as Michal Kucharczyk levelled in stoppage time, ending their dream.