The first legs of the semi-finals will take place on 26 and 27 April, with the returns scheduled for 3 and 4 May.
City knocked out Paris St Germain in the quarter-finals thanks to a goal from Belgian midfielder Kevin De Bruyne which secured a 1-0 victory at the Etihad Stadium and sent the Premier League side through 3-2 on aggregate.
Madrid recovered from a 2-0 first-leg defeat by Wolfsburg to progress to the last four following a hat-trick by former Manchester United forward Cristiano Ronaldo.
City will be at home in the first leg before heading to the Bernabeu a week later.
The other semi-final will see Atletico Madrid, who knocked out Barcelona, take on Bayern Munich, managed by Pep Guardiola in what will be his final season before taking over at Manchester City next season.
Meanwhile in the UEFA Europa League, Villarreal will take on Liverpool, while reigning Champions Sevilla take on Ukrainian side Shakhtar Donetsk.
Liverpool produced a stunning comeback to beat Borussia Dortmund 4-3 at Anfield with a stoppage-time goal from Dejan Lovren which secured a place in Friday's draw.
The other semi-final will see holders Sevilla, who are chasing a third successive Europa League title, take on Ukrainian side Shakhtar Donetsk.
The ties will be played on 28 April and 5 May, with Liverpool set to host the second leg.
The final is at St Jakob Park in Basel, Switzerland, on 19 May, when the winners can claim a place in the Champions League for next season.
Watch the FIFA World Cup 2026™, Tour de France, Tour de France Femmes, Giro d’Italia, Vuelta a España, Dakar Rally, World Athletics / ISU Championships (and more) via SBS On Demand – your free live streaming and catch-up service. Read more about Sport
Have a story or comment? Contact Us

