Mauricio Pochettino's men will also take on Serbian side Partizan Belgrade and Greek outfit Asteras Tripolis after making it through the final qualifying round on Thursday.
Besiktas pushed Arsenal all the way over two legs in the Champions League play-offs, eventually going down 1-0 on aggregate after a goalless draw in the opening match in Turkey.
Everton were rewarded with direct qualification for the group stage but found themselves in the third seeding pot and ended up with a tough section involving Lille, Wolfsburg and FC Krasnodar from Russia.
And Celtic, after failing in their second chance to make the Champions League group stage against Maribor, will face FC Salzburg, Dinamo Zagreb and Romanian side FC Astra Giurgiu.
Group draw in full:
Group A: Villarreal (Esp), Borussia Monchengladbach (Ger), FC Zurich (Sui), Apollon Limassol (Cyp)
Group B: FC Copenhagen (Den), Club Brugge (Bel), Torino (Ita), HJK Helsinki (Fin)
Group C: Tottenham (Eng), Besiktas (Tur), Partizan Belgrade (Srb), Asteras Tripolis (Gre)
Group D: FC Salzburg (Aut), Celtic (Sco), Dinamo Zagreb (Cro), FC Astra (Rou)
Group E: PSV Eindhoven (Ned), Panathinaikos (Gre), Estoril (Por), Dinamo Moscow (Rus)
Group F: Inter Milan (Ita), FC Dnipro (Ukr), Saint-Etienne (Fra), Qarabag FK (Aze)
Group G: Sevilla (Esp), Standard Liege (Bel), Feyenoord (Ned), HNK Rijeka (Cro)
Group H: Lille (Fra), Wolfsburg (Ger), Everton (Eng), FC Krasnodar (Rus)
Group I: Napoli (Ita), Sparta Prague (Cze), Young Boys (Sui), Slovan Bratislava (Svk)
Group J: Dynamo Kiev (Ukr), Steaua Bucharest (Rou), Rio Ave (Por), Aalborg (Den)
Group K: Fiorentina (Ita), PAOK (Gre), Guingamp (Fra), Dinamo Minsk (Blr)
Group L: Metalist Kharkiv (Ukr), Trabzonspor (Tur), Legia Warsaw (Pol), Lokeren (Bel)