Real Madrid will face Borussia Dortmund in the group stages as they attempt to win a third successive Champions League, while Neymar and big-spending Paris Saint-Germain have been paired with Bayern Munich.
Madrid shared a pair of 2-2 draws with Dortmund in the group stages last season, progressing as runners-up before plotting their route to final glory against Juventus in Cardiff.
Tottenham and outsiders APOEL join Madrid and Dortmund in a highly competitive Group H, while Premier League champions Chelsea will face Atletico Madrid in Group C.
It remains to be seen whether want-away Blues striker Diego Costa will get his wish over a return to the Spanish capital, with Serie A runners-up Roma and competition debutants Qarabag completing that section.
Beaten finalists Juve will face Barcelona, who denied them the title in Berlin in 2015, with Olympiacos and Sporting CP concluding a heavyweight Group D line-up.
Europa League winners Manchester United were drawn favourably on their return to the competition, while their Premier League rivals Manchester City and Liverpool can also have few complaints.
United take on Benfica, who they beat to claim a first European title back in 1968, Basel and CSKA Moscow in Group A, while City face Shakhtar Donetsk, Napoli and Dutch champions Feyenoord in Group F.
Liverpool have the chance for revenge over Sevilla, following their 2015 Europa League final loss to the La Liga side, and Spartak Moscow and Maribor are along for the ride in Group E.
There is less encouraging news for the remaining British side, Celtic, who must keep PSG and Bayern company in Group B along with Anderlecht.
Ligue 1 champions Monaco face Porto in a re-run of the 2004 Champions League final, joining first-timers RB Leipzig in Group G, where all three teams must come to Besiktas.
Here is the draw in full:
Group A: Benfica, Manchester United, Basel, CSKA Moscow
Group B: Bayern Munich, Paris Saint-Germain, Anderlecht, Celtic
Group C: Chelsea, Atletico Madrid, Roma, Qarabag
Group D: Juventus, Barcelona, Olympiacos, Sporting CP
Group E: Spartak Moscow, Sevilla, Liverpool, Maribor
Group F: Shakhtar Donetsk, Manchester City, Napoli, Feyenoord
Group G: Monaco, Porto, Besiktas, RB Leipzig
Group H: Real Madrid, Borussia Dortmund, Tottenham Hotspur, APOEL
The complete 2017/18 Uefa Champions League Group Stage draw!
Most exciting group?#UCLdraw pic.twitter.com/Jf9ebJrJ9t
— #UCLdraw (@ChampionsLeague) August 24, 2017