Holders Real Madrid will play 2021 winners Chelsea in the Champions League quarter-finals while Manchester City's Pep Guardiola will visit his former club Bayern Munich after the teams were drawn together.
Real, who beat last year's finalists Liverpool 6-2 on aggregate in the last 16, will face another English side after Graham Potter's Chelsea handed Borussia Dortmund their first loss of the year and qualified with a 2-1 aggregate win.
City, runners-up in 2021, will play 2020 champions Bayern who were managed by Guardiola for three seasons from 2013.
Under the Spaniard they were perennial Bundesliga champions but fell at the Champions League semi-final stage each year.
Guardiola, who last won the Champions League with Barcelona in 2011, will be up against Bayern for the first time since his move from the German club to City in 2016.
The fixture also gives City striker Erling Haaland the chance to add to his tally of five goals against Bayern when he was with Dortmund.
The 22-year-old Norwegian, who has scored 39 goals in all competitions for City so far this season, is also the leading scorer in the Champions League this term with 10 goals after firing five past RB Leipzig in his last match.
Reigning Serie A champions AC Milan will face this season's runaway leaders Napoli in an all-Italian clash while Inter Milan play Portuguese side Benfica.
Napoli beat Eintracht Frankfurt 5-0 on aggregate to reach the quarter-finals for the first time in the club's history while AC Milan are back in the last eight after a 12-year gap.
The semi-final draw was also made with all three Italian sides on one side of the draw and both English teams in the other half.
- Real Madrid v Chelsea
- Benfica v Inter Milan
- Manchester City v Bayern Munich
- AC Milan v Napoli
First legs: April 11-12; Second legs: April 18-19
- Semi-final 1: Milan/Napoli v Benfica/Inter
- Semi-final 2: Real/Chelsea v City/Bayern
First legs: May 9-10; Second legs: May 16-17