The first opportunity of the game fell to Bayern's Kingsley Coman, who saw a low strike dealt with by Luigi Sepe, before the Italian stopper stood up well to Joshua Kimmich's effort after the defender had broken into the penalty area.
Bayern had been relatively dominant during the early stages but against the run of play, they fell behind when Koulibaly converted from close range after teenage goalkeeper Christian Fruchtl had saved well from Nikola Maksimovic.
The home side responded positively to going behind, but Napoli almost doubled their advantage when Dries Mertens broke in behind the Bayern defence, only to see Fruchtl keep out his attempt from an acute angle.
As the first half moved nearer to a close, Renato Sanches sent a shot marginally wide of the post from outside of the box, but Bayern were left to go into the break facing the prospect of losing their second match in the space of 24 hours.
After Mertens had done well to run towards the byline, the Belgian managed to find Emanuele Giaccherini, who lashed a low shot into the bottom corner from 12 yards.
That goal effectively ended the match as a contest and once more alterations had been made by both managers, the game lost its edge.
With eight minutes left, Arkadiusz Milik took responsibility for a free kick from around 30 yards on goal but despite making a sweet connection, his effort curled just wide of Fruchtl's post.
Bayern rallied late on but it was far too little too late as Napoli easily held on to seal an impressive triumph at the home of the Bundesliga champions.