Manchester City and Tottenham Hotspur will face off in an all-Premier League clash after being draw together in the Champions League quarter-finals on Friday.
Manchester United, who staged a dramatic comeback against Paris Saint-Germain to make the last eight, will take on Barcelona in the other headline tie.
Ajax will meet Cristiano Ronaldo's Juventus after dumping out European champions Real Madrid in the last 16, while Liverpool face Porto.
The semi-final pairings were also made in the draw at UEFA headquarters in Nyon, Switzerland.
It sees the winners of Tottenham/Manchester City v Ajax/Juventus, and Barcelona/Manchester United v Liverpool/Porto.
Manchester United were drawn away to Barcelona but as City and United will not be able to play at home on the same night or on consecutive nights, the tie was reversed and United will be at home for the first leg.
The quarter-final first legs will be played on April 9 and 10, with the return legs on April 16 and 17.
The semi-finals first legs are on April 30 and May 1, with the return legs on May 7 and 8.
The final will be played on June 1 at the Wanda Metropolitana, Madrid.