BVB saw goalkeeper Roman Weidenfeller and coach Jurgen Klopp sent off as Rafa Benitez's side secured a narrow win
The Italians opened the scoring early on as Gonzalo Higuain nodded home and the hosts' task was made infinitely easier just before half-time as Mats Hummels left the field injured and Roman Weidenfeller inexplicably handled outside the box to earn himself a red card.
Dortmund's threat was significantly blunted by those blows - allied to Jurgen Klopp's dismissal to the stands - and they were helpless to prevent a fantastic long-rang free kick from Lorenzo Insigne doubling Napoli's lead.
But there was still time for the 10-man Germans to grab a late consolation when Juan Camilo Zuniga flicked a cross into his own net with five minutes of normal time remaining.
With no injury worries of note among his squad, Rafael Benitez named a strong, attacking line-up including the likes of Marek Hamsik, Lorenzo Insigne and Jose Callejon. The visitors, meanwhile, named a patched-up starting XI due to the absences of Ilkay Gundogan, Lukasz Piszczek and Sebastian Kehl.
Despite the makeshift nature of Klopp's team, Dortmund undoubtedly made the better start in Naples. But the hosts responded in kind, with a five-minute spell of pressure leading to Insigne driving narrowly wide before Higuain was denied one-on-one by a brilliant Hummels tackle.
The topsy-turvy nature of the first half did not let up, with Lewandowski the recipient of the next clear opportunity. The Poland striker latched onto a fabulous throughball to sneak into the box but could not beat the sprawling Pepe Reina in the Napoli goal.
And, perhaps unsurprisingly, last year's Champions League runners-up were punished for that miss in the very next attack. Zuniga picked the ball up on the left-hand side before swinging in an inch-perfect cross that Higuain nonchalantly headed into the far corner of the goal to send the home crowd into raptures.
On the touchline, Dortmund coach Klopp remonstrated angrily with the fourth official over his failure to allow Neven Subotic back onto the pitch following a head injury, but his rant only served to bring him a red card.
Dortmund responded in bullish fashion when they received a further blow just before half-time, replacing injured centre-back Hummels with forward Pierre-Emerick Aubameyang.
But things went from bad to worse seconds later as goalkeeper Weidenfeller rushed out of his box to meet the ball but could only handle to prevent Higuain breaking through and deservedly saw red.
Jakub Blaszczykowski subsequently made way for substitute shot-stopper Mitchell Langerak before the break.
Dortmund began the second half understandably deeper in an attempt to nullify their opponents' numerical advantage but were lucky to avoid conceding again on the hour mark, as a rifled Insigne cross bounced off the knee of Hamsik six yards out.
However, it mattered little in the end, as Insigne ensured the Italians would take a two-goal lead in fabulous fashion. The 22-year-old produced an unstoppable free-kick from 30 yards out that rattled the crossbar on the way past a helpless Langerak.
Aubameyang upped the stakes in terms of audacious efforts in the immediate aftermath as he struck the bar from distance before Dries Mertens also got involved as his clever free kick to the near post almost snuck in.
Dortmund were given hope in the dying moments as Zuniga needlessly swung at a cross into the box, to leave Reina no chance of stopping the ball bouncing over the line off the post.
But the visitors could not launch a late comeback to avoid defeat as the home side hung on to lay down a marker in the group.