Dundalk shocked BATE, APOEL scored three times in added time and Ludogorets prevailed in extra time as five teams booked their places in the UEFA Champions League play-offs.
Article top media content
Dundalk 3-0 BATE (agg: 3-1)
Dundalk avenged defeat by BATE in last year's second qualifying round with a sensational win at Tallaght Stadium. David McMillan struck either side of half-time to edge the Irish title holders in front, with substitute Robbie Benson adding the gloss in the last minute.
APOEL 3-0 Rosenborg (agg: 4-2)
APOEL were heading out until added time, but an extraordinary finish sent them into the play-offs in style. Giannis Gianniotas (90+1), Vander (90+5) and Tomás De Vincenti (90+9) scored the goals.
Crvena zvezda 2-4 Ludogorets (aet, agg: 4-6)
A Wanderson hat-trick, including two in extra time, propelled Ludogorets into the play-offs. Mitchell Donald put the hosts ahead on 17 minutes, before Jonathan Cafú and Wanderson gave Ludogorets the lead and both teams had players – Igor Plastun and Guélor Kanga – sent off. Though Luis Ibáñez's penalty forced an extra 30 minutes, the visitors' Brazilian forward had the final say.
Qarabağ 1-1 Viktoria Plzeň (agg: 1-1, Plzeň win on away goals)
Replacement Michael Krmenčik's 85th-minute header was enough to take the Czech side through. Muarem Muarem's first-half effort for Qarabağ had looked like being enough for the hosts to progress, until the centre-back's late intervention.
Dinamo Tbilisi 0-1 Dinamo Zagreb (agg: 0-3)
Marko Rog, who also scored away from home in the second qualifying round, struck with a free-kick after just eight minutes to wrap up a comfortable aggregate triumph for Zlatko Kranjčar's team.
The draw for the UEFA Champions League play-offs takes place at 12:00CET on Friday 5 August and will be streamed live on UEFA.com. Further details are available here.
BATE, Rosenborg, Crvena zvezda, Qarabağ and Dinamo Tbilisi will now transfer to the UEFA Europa League play-offs.