A busy two weeks in Europe came to an end last week, with the semi-finalists of the UEFA Champions League, Europa League and Conference League all being decided.
The quarter-final two legs have all been completed after a batch of intense matches played out on Tuesday, Wednesday and Thursday nights.
The final four of each competition has now been confirmed, with the the three grand finales set to arrive in a few weeks' time.
Let's take a look at what the quarter-finals had in store for us after the second legs closed that round off across Europe.
The UEFA Champions League second leg results + tie results
- Inter Milan (2) 2-2 (1) Bayern Munich - Inter qualify 4-3 on aggregate.
- Real Madrid (0) 1-2 (3) Arsenal - Arsenal qualify 5-0 on aggregate.
- Borussia Dortmund (0) 3-1 (4) Barcelona - Barcelona qualify 5-3 on aggregate.
- Aston Villa (1) 3-2 (3) Paris Saint-Germain - Paris Saint-Germain qualify 5-4 on aggregate.
The UEFA Europa League second leg results + tie results
- Athletic Bilbao (0) 2-0 (0) Rangers - Athletic Bilbao qualify 2-0 on aggregate.
- Frankfurt (1) 0-1 (1) Tottenham - Tottenham qualify 2-1 on aggregate.
- Lazio (0) 3-1 (2) Bodo/Glimt - Bodo/Glimt qualify on penalties, after 3-3 aggregate.
- Manchester United (2) 5-4 (2) Lyon - Manchester United qualify 7-6 on aggregate.
The UEFA Conference League second leg results + tie results
- Chelsea (3) 1-2 (0) Legia Warszawa - Chelsea qualify 4-2 on aggregate.
- Fiorentina (2) 2-2 (1) Celje - Fiorentina qualify 4-3 on aggregate.
- Jagiellonia (0) 1-1 (2) Real Betis - Real Betis qualify 3-1 on aggregate.
- SK Rapid (1) 1-4 (0) Djugarden - Djugarden qualify 4-2 on aggregate.
Semi-final fixtures
Champions League
- Arsenal vs Paris Saint-Germain (29/4 & 7/5)
- Barcelona vs Inter Milan (30/4 & 6/5)
Europa League
- Athletic Bilbao vs Manchester United (1/5 & 8/5)
- Tottenham vs Bodo/Glimt (1/5 & 8/5)
Conference League
- Real Betis vs Fiorentia (1/5 & 8/5)
- Djugarden vs Chelsea (1/5 & 8/5)