It's a Spain vs. Germany double bill in the Champions League semifinals.
Barcelona will play Bayern Munich in a clash of runaway league leaders who are ranked by UEFA as the two best teams in Europe. Bayern hosts the first leg on April 23.
Real Madrid faces an exciting Borussia Dortmund in a repeat of their 1998 semifinal, when the Spanish side dethroned the reigning champion. The first leg is on April 24 in Dortmund, where Madrid lost in the group stage last October.
"It's the best match possible in this competition," Barcelona director Amador Bernabeu told The Associated Press. "It's difficult for us and for Bayern."
Karl-Heinz Rummenigge, the Bayern chairman, said he was "very happy" to play the "top favorite to win the Champions League."
"I find it very thrilling to be playing against the best team in Europe," Rummenigge said.
Dortmund coach Juergen Klopp was content to avoid a German rival which already took his team's Bundesliga title this season.
"I don't have to repeat that Real is a difficult opponent, but from the three possible opponents Real is the only one we've beaten this season," Klopp said.
Friday's draw featured four former European champions who have combined to win 18 titles in the competition's 58-year history.
It avoided a repeat of the Spanish giants' ill-tempered semifinal in 2011, when Barcelona advanced after winning 2-0 in a spiteful first leg in Madrid which included players and coaches brawling near the tunnel at halftime.
Return games are on April 30 in Madrid and May 1 in Barcelona. The final is on May 25 at Wembley Stadium, where Barcelona lifted the giant trophy two years ago.
Barcelona and Bayern, both four-time European champions, stand atop the UEFA rankings based on their record in European club competitions over the past five years.
Barcelona has won two Champions Leagues in that spell, and beat Bayern in the quarterfinals on its 2009 title run.
"We got a fearsome beating there, 0-4," Rummenigge recalled. "Messi alone ran circles around us. It's going to be a Herculean task to limit (him)."
Bayern was runner-up last season against Chelsea and also in 2010 against an Inter Milan team coached by Jose Mourinho.
Now at Madrid, Mourinho can become the first coach to lead three different clubs to the title. He also won with Porto (2004), and joined Ernst Happel (Feyenoord 1970, Hamburg 1983) and Ottmar Hitzfeld (Dortmund 1997, Bayern 2001) as two-time winners.
Madrid, a nine-time European champion, and Dortmund, met in the group stage. Dortmund won 2-1 at home and then was denied a victory by the same score at Santiago Bernabeu Stadium when Germany international Mesut Oezil scored an 89th-minute leveler.