Already assured of their place in next summer's finals, Roberto Mancini's side were initially second best in the opening exchanges at the Bilino Polje Stadium in Zenica.
Italy were indebted to goalkeeper Gianluigi Donnarumma early on, notably in making a reaction stop to Ermin Bicakcic's point-blank header, and then a more routine save from captain Edin Dzeko's long-range drive.
But the visitors forged ahead in the 21st minute. Federico Bernardeschi beat Zoran Kvrzic and his pass into the danger area was flicked on by Nicolo Barella to centre-back Acerbi, who showed a deftness of touch by sidestepping Miralem Pjanic with his left foot before delivering a sweet strike with his right from 14 yards for his first international goal.
Eight minutes before the break, Italy doubled their lead. Belotti teed up Insigne, whose shot on the turn squeezed through the legs of Adnan Kovacevic before slowly evading the outstretched grasp of Ibrahim Sehic.
Bosnia could have pulled one back before the break, but Donnarumma made a fine save from Gojko Cimirot before a penetrating corner saw Bicakcic swing and miss at a sitter, with the Italy goalkeeper then denying Kovacevic's flick at the loose ball.
Bellotti, who had seen a superb left-foot strike tipped over by Sehic five minutes before the break, made no mistake seven minutes after it, powerfully lifting a first-time effort over the goalkeeper after running on to a piercing through ball from Barella.
Insigne almost added a fourth in the 64th minute with a sizzling shot from just outside the area that was tipped away by Sehic.
Italy then saw out the remainder of the game, and can make it a perfect 10 out of 10 in qualifying if they beat Armenia in Palermo on Monday.