The first leg of the semifinals will be played on April 24 and 25, with the return games on May 1 and 2.
Two-time defending champion Real Madrid will play Bayern Munich in the Champions League semifinals in a clash off clubs with a combined 17 European titles.
The two European powers have never met in the final but this will be their seventh semifinal meeting in the 63-year-old competition. The first leg is in Madrid.
In the other semifinal, Liverpool was drawn to face Roma in a repeat of the 1984 final.
The English team won that match in the Italian club's home stadium. Liverpool will play at home first.
The first legs will be played on April 24-25, with the return games on May 1-2. The final is scheduled for May 26 at the Olympic Stadium in Kiev, Ukraine.
Madrid, seeking a record-extending 13th European title, is in the semifinals for the eighth straight year.
That run has included three titles and four losses at the semifinal stage, including to Bayern in 2012 on penalties in Madrid.
Bayern, a five-time champion, also eliminated Madrid in the semifinals of 1976, 1987 and 2001.
Madrid beat a Bayern team coached by Pep Guardiola home and away in the 2014 semifinals, and also won their 2000 semifinal matchup.
A Champions League final for Bayern would be a fitting end to coach Jupp Heynckes' career with the German champions, who announced on Friday it had hired Niko Kovac to take over next season.
Heynckes came out of retirement in October after Bayern's faltering start to the season led to Carlo Ancelotti leaving as coach.
Bayern have not been to a Champions League final since 2013, when it won in what was also a last game for Heynckes before his first retirement.
Heynckes also coached Madrid to the title in 1998 - another trophy-winning farewell before he was fired.
Liverpool won the fourth of its five European titles in 1984 in Rome in a penalty shootout after a 1-1 draw. That was the only time Roma ever reached the semifinals.
Liverpool is in its first Champions League semifinal match since 2008, when it lost to Chelsea.
This season, Liverpool is the only unbeaten team despite playing the most games, 12, after coming through the playoff round in August.
Europa League semi-finals
Arsenal will play two-time champion Atletico Madrid in the Europa League semifinals.
Atletico, the 2010 and 2012 winner, will travel to London for the first leg against Arsenal, which has never won the Europa League or the UEFA Cup but did win the 1969 Inter-Cities Fairs Cup - a predecessor competition not recognized by UEFA.
Marseille will host underdog Salzburg in the first leg of the other semifinal.
The first legs will be played on April 26, with the return games on May 3. The final will be played on May 16 in Lyon.
The Europa League champion will get direct entry into next season's Champions League.