European champions, Real Madrid will face rivals Atletico Madrid in the semi-finals of the Champions League – a repeat of last year’s final.
Zinedine Zidane’s side could become the first club to retain the trophy in the Champions League era in the final on 3 June in Cardiff.
It is the fourth season in a row in which the sides from the Spanish capital have met in the knockout rounds of the competition, with Real getting the better of them each time.
The first leg will be played at the Bernabeu, while the return tie will mark the last time the Vicente Calderon will host a Madrid derby before Atleti move into their new stadium next season.
French side Monaco take on Italian club Juventus in the other last-four tie.
The first legs will be played on 2 and 3 May, with the return legs taking place the following week.
Real, aiming to win Europe’s premier club competition for a 12th time, beat German champions Bayern Munich 6-3 on aggregate to reach the last four.
Atletico, meanwhile, ended Premier League champions Leicester’s fairytale run in Europe, edging the Foxes 2-1 over two legs.
Juventus claimed an impressive 3-0 aggregate win over Barcelona while Monaco defeated Borussia Dortmund 6-3..