Meanwhile, Inter Milan's accident-prone season continued as midfielder Ricardo Alvarez produced a bizarre penalty miss while goalkeeper Samir Handanovic also blundered in a 3-1 defeat to Lazio at a restless San Siro.
Marek Hamsik, Edinson Cavani, from a penalty and Blerim Dzemaili scored in quick succession early in the second half to guarantee Napoli a second-place finish behind champions Juventus with two games to spare.
They have 75 points, seven more than AC Milan with two games left to play.
Napoli produced a disjointed first-half performance but took the lead eight minutes after the interval when Hamsik turned in Dzemaili's pass.
Ten minutes later, Cavani was hauled down by Bologna goalkeeper Dejan Stojanovic and converted the penalty himself.
Four minutes after that, a powerful run by the Uruguayan ended with the ball running loose to Dzemaili and the Swiss slotted in the third past hapless Austrian teenager Stojanovic, who shipped six goals against Lazio on Sunday.
Serie A leading scorer Cavani took his tally to 27, although it is far from certain he will stay for next season as speculation mounts that one of Europe's wealthiest clubs will cough up the estimated 60 million euro asking price.
Napoli reached the last 16 of the Champions League in 2011/12, when they made their debut in competition.
An early goal from Gonzalo Rodriguez was enough for Fiorentina in the Tuscany derby at lowly Siena, who protested angrily that the goal should have been disallowed for handball.
Meanwhile, Inter's season, which has seen their team decimated by injuries including a ruptured Achilles tendon for 39-year-old stalwart Javier Zanetti, took another unhappy twist against Lazio.
Their evening began badly when fans displayed banners protesting at the club directors and got worse when keeper Handanovic was credited with an own goal after he fumbled an attempt to punch the ball away and it bounced into the net off another player.
Alvarez levelled in the 33rd minute with a header which took a deflection before the Argentine became the villain of the piece, missing a sitter from six metres then having another close-range effort blocked by Lorik Cana.
Hernanes put Lazio back in front by converting a penalty with the last kick of the half but Inter were themselves awarded a spot kick in the 70th minute. However, Alvarez slipped in his run up and hoofed the ball over the bar.
Eddy Onazi completed Inter's misery with an unstoppable 25-metre shot.
Torino and Genoa, both hovering above the relegation zone, drew 0-0 but were helped by a 3-2 home defeat for Palermo against Udinese.
With the bottom three going down, Palermo are 18th in the 20-team table with 32 points, four behind Genoa and five adrift of Torino. Siena, who have 30 points, are all but mathematically relegated.
- Sports & Recreation
- Edinson Cavani
- Samir Handanovic
- Blerim Dzemaili
- Marek Hamsik
- Inter Milan