Roma, who drew 1-1 in Portugal, started as favourites but never recovered after Felipe gave the visitors an eighth-minute lead and the Italians imploded when Daniele De Rossi and Emerson Palmieri were shown straight red cards either side of halftime.
Monaco joined Porto in advancing with a 1-0 win over Villarreal, a 90th-minute penalty by Fabinho securing a 3-1 aggregate victory.
Legia Warsaw, Celtic and Ludogorets Razgrad also qualified for the group stage, although none of them won on the night.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
Poland's Legia drew 1-1 at home to Dundalk but progressed 3-1 on aggregate, Celtic squeezed past Hapoel Beer Sheva 5-4 on aggregate despite a 2-0 loss in Israel and Ludogorets held Viktoria Plzen 2-2 away to complete a 4-2 aggregate win.
(Reporting by Brian Homewood, editing by Ed Osmond)
