Libor Kozak and Stefan Radu also scored for the visitors before Marcos Tavares hit a late consolation.
Basle grabbed the goalless draw they needed in Genk to progress along with the Belgians from Group G. Videoton's match at Sporting Lisbon was postponed until Friday due to a waterlogged pitch, but Basle's point rendered the outcome irrelevant.
With both sides having already qualified from Group L, Levante and Hannover played out a 2-2 draw in Spain, with the Germans blowing a 2-0 lead but still taking the point they needed to top the group.
Lars Stindl and Didier Ya Konan put the visitors in front before the half-hour mark but the hosts hit back after the break with Angel pulling one back on 49 minutes and Vicente Iborra hitting an injury-time leveller. Also in Group L, Helsingborg won 3-1 at FC Twente in a match between two sides who were already eliminated.
Group H winners Rubin Kazan settled for a 1-1 draw at Partizan Belgrade. Aleksandar Markovic put the hosts ahead on 53 minutes and Salomon Rondon equalised for the Russians five minutes later.
Also in Group H, Inter Milan, already assigned the runners-up position, drew 2-2 at home to Neftci. Marko Livaja's two goals for Inter were cancelled out first by Rashad Sadygov, then by Nicolas Canales one minute from time.
With Group K already settled, Deni Alar's 13th-minute goal gave Rapid Vienna their first points with a 1-0 win over Metalist Kharkiv. Runners-up Bayer Leverkusen beat Rosenborg 1-0 with a goal from Julian Riedel.
Goals from Mouhamadou Sarr and Yassine Benzia gave Group I winners Lyon a 2-0 win over Hapoel Kiryat Shmona, while second-placed Sparta Prague played out a goalless draw at Athletic Bilbao.