Bayern Munich will face Real Madrid and Liverpool will take on Roma in the semi-finals of the Champions League.
The first legs will be on Tuesday 24 and Wednesday 25 April, with the returns on May 1 and 2.
German champions Bayern and holders Real have met 24 times in Europe's premier competition and have 11 wins each from those encounters.
The pair clashed at the semi-finals stage in 2014 when the Spanish club won 5-0 on aggregate. They also met last season in the last eight when Real triumphed 6-3 on aggregate.
"I have to say, it's a cracking tie. A gigantic fixture, in a very positive way," said Bayern coach Jupp Heynckes, whose club have been knocked out by Spanish opposition in the last four seasons.
Having become the first side to win back-to-back titles in the Champions League era last season, Real Madrid want to be the first club since Bayern (1974-76) to claim three successive European Cups.
"We need to get a good result in Munich to then take it back to the Bernabeu," Emilio Butragueno, Real Madrid's director of institutional relations, said.
"At this stage of the competition it's impossible that you don't suffer.
"If we have to do so in order to get to the final, so be it. We really want to be there. It's been a tough Champions League thus far drawing Paris, Juve and now Bayern."
Liverpool will have happy memories of their meeting with Roma in the 1984 European Cup final, which was played in the Italian capital with the English side winning on penalties.
The game will reunite Liverpool's top scorer this season, Mohamed Salah, with his former club.
The Premier League side will host Roma at Anfield on Tuesday, April 24 with Real at Bayern on Wednesday, April 25.
The Germans visit the Spanish capital on May 1 with Roma's Olympic Stadium hosting Liverpool on May 2.