Manchester City will take on Real Madrid for a place in the final of the Champions League final, while Bayern Munich face Atletico Madrid.
Manuel Pellegrini guided City to the quarter-finals of the competition for the first time this season, and then successfully saw his team past a much-fancied Paris St Germain side to make the final four.
City were the first team to be pulled out, learning quickly that they would face Real Madrid, winners of the tournament in 2014.
Atletico Madrid, who sprang the biggest surprise of the quarter-finals by knocking out Barcelona, take on Bayern Munich, who are in the semi-finals for a fifth successive year.
The draw keeps alive the prospect of a final with both teams from the same country for the third time in four years, following Bayern Munich’s win over Borussia Dortmund in 2013 and Real Madrid’s victory over Atletico Madrid a year later.
The first leg matches will take place on 26-27 April, with City playing at home on Tuesday and Atleti on Wednesday.
The return fixtures will be played on May 3-4.
Whichever team wins the City v Real semi-final will then be the nominal home team for the final at the San Siro in Milan on May 28.
— Champions League (@ChampionsLeague) April 15, 2016
Manchester City v Real Madrid (Tuesday 26 April; Wednesday 4 May)
Atletico Madrid v Bayern Munich (Wednesday 27 April; Tuesday 3 May)
(First named teams to play opening leg at home)
Download our mobile app today.