Former Porto forward Ricardo Quaresma was the architect of the Turkish side's first goal in the 13th minute when he floated over an inviting cross which former Benfica midfielder Anderson Talisca powered past Iker Casillas.
Porto, winners of their first five league games without conceding a goal, were gifted an equaliser eight minutes later by Besiktas defender Dusko Tosic, who inadvertently headed a corner into his own net under pressure from Moussa Marega.
But, in an end-to-end Group G game, Cenk Tosun put Besiktas back in front in the 29th minute with a thumping right-foot effort which flew past Casillas from 30 metres.
Porto had won only two of their previous seven home European ties and Ryan Babel made sure they extended that run by scoring Besiktas's third in the 86th minute after a one-two with Alvaro Negredo.
Benfica kicked off their campaign with a 2-1 home defeat by CSKA Moscow on Tuesday.