Nine-times champions Real Madrid will meet Italian Serie A winners Juventus in two highly anticipated clashes in a group which also features Galatasaray and FC Copenhagen.
Barça will play against AC Milan for the third year running, after beating the seven-time European title holders in an amazing comeback in last year's last-sixteen stages.
The Catalan giants are also matched against Holland’s Ajax and Scottish side Celtic.
Atlético de Madrid will face Oporto, the team that knocked them out of their last Champions League four years ago.
The Spanish Copa del Rey winners are also up against Zenit St Petersburg and Austria Vienna.
Real Sociedad, who haven't played in the Champions League for over a decade, will be facing none other than English Premiership champions Manchester United in their group.
The San Sebastian side are also placed in the same group as Ukraine's Shakhtar Donetsk and Germany’s Bayer Leverkusen.
The draw, which was held in Monaco on Thursday night, also saw Bayern Munich and France star Franck Ribery collect the UEFA best player award over Barça's Lionel Messi.