The Azzurri's convincing victory at the Grbavica Stadium saw them finish a point above the Netherlands, which beat Poland 2-1 in Thursday's (AEDT) other Group A1 contest.
Without boss Roberto Mancini for a third game running because of his positive coronavirus test, Italy got the job done in Sarajevo thanks to volleys from Belotti and Berardi.
Bosnia had already been condemned to relegation heading into the final round of fixtures and were unable to truly trouble their opponents, who are now unbeaten in 22 outings.
Belotti snatched at a volley on the edge of the six-yard box and then guided a diving header wide from slightly further out as Italy dominated right from the off.
But it was third time lucky for the Torino striker as he slid in to meet Lorenzo Insigne's cross from the left and sent the ball looping over stand-in Bosnia keeper Kenan Piric.
Berardi was then denied by Piric and Insigne curled a shot inches wide, either side of Gianluigi Donnarumma's fine stop to keep out Smail Prevljak's low effort.
Bosnia, without Edin Dzeko and a couple of other key players, wasted another good opening when Sinisa Sanicanin fired into the side-netting nine minutes into the second half.
Italy soon clicked back into gear and doubled its lead through Berardi's strike - the Sassuolo attacker watching club-mate Manuel Locatelli's pass all the way and volleying in from 13 yards.
Bosnia lost Sanicanin to a hamstring injury late on and had to conclude the game with 10 men, their misery almost compounded by a strike from Federico Bernardeschi that cracked the underside of the crossbar.