Manchester City will face Liverpool in an all-Premier League Champions League quarter-final.
Runaway leaders City suffered their only defeat in the league this season at Liverpool on 14 January, while Pep Guardiola's side beat the Reds 5-0 at Etihad Stadium last September.
The first leg will take place at Anfield on 3-4 April, with the return the following week on 10-11 April.
Holders Real Madrid will face Italian champions Juventus.
That is a repeat of the 2017 final which Real won 4-1 in Cardiff.
La Liga leaders Barcelona, who are looking to win the Champions League for the first time since 2015, face Roma, while Sevilla, who beat Manchester United 2-1 on aggregate in the previous round, take on five-time European champions Bayern Munich.
Clash of the Premier League free-scorers
The tie between Liverpool and Manchester City will be the first meeting between Premier league sides in the Champions League quarter-finals since 2010-11 when Chelsea faced Manchester United.
On that occasion, United advanced 3-1 on aggregate on their way to the final which they lost 3-1 to Barcelona at Wembley.
Friday's draw means one Premier League club is guaranteed a place in the semi-finals.
City are 21 points clear of fourth-placed Liverpool in the table.
They are the top two scorers in the Premier League, with City finding the net 85 times in 30 games. Liverpool have scored 68 goals from the same number of matches.
Champions League quarter-final draw
Barcelona v Roma
Sevilla v Bayern Munich
Juventus v Real Madrid
Liverpool v Manchester City
More to follow.