It offered some consolation for the European champions, whose semifinal loss to Spain in Milan on Wednesday ended their world-record 37-match unbeaten run.
They returned to winning ways as Barella volleyed a poor corner clearance into the net one minute into the second half and Berardi added the second from the spot in the 65th minute, after Timothy Castagne had brought down the tricky Federico Chiesa.
Belgium claimed a consolation in the 86th minute when substitute Charles De Ketelaere finished off a quick counterattack.
Belgium, who were without Eden Hazard and Romelu Lukaku and only brought on Kevin De Bruyne in the second half, hit the woodwork three times but were outplayed for large portions of the contest by the hosts at the Juventus Stadium.
“Today we played very well, we were excellent. We have different solutions and quality in midfield, today they did well,” Italy coach Roberto Mancini told RAI television.
Early chances for Berardi and Giacomo Raspadori were dealt with by the Belgium defence before Alexis Saelemaekers, who plays in Serie A with AC Milan, slammed a shot against Italy’s crossbar in the 28th minute.
But immediately after the break, Belgium fell behind to Barella’s snap effort, cleanly hit after a clearing header from a corner fell perfectly into his path.
Michy Batshuayi then had an effort come back off the woodwork as Belgium came close to a 60th minute equaliser but fell 2-0 behind when Castagne mistimed a tackle on Chiesa to offer Italy a chance to extend their lead from the penalty spot. Berardi’s kick squeezed past Belgium goalkeeper Thibaut Courtois.
Toby Alderweireld then proved an unlikely attacking threat with two efforts that brought out fine stops from Italy’s goalkeeper Gianluigi Donnarumma before Yannick Carrasco smashed a curling shot against the Italian post in the final 10 minutes.
Courtois’ quick clearance set up Belgium’s goal with De Bruyne passing to the youthful De Ketelaere to squeeze it past Donnarumma from close range, but it came too late to offer a dramatic finish to the game.
“We had a lot of younger players today and they did decently,” De Bruyne said. “It was good for them to play against a team of Italy’s quality.”
France and Spain meet in the Nations League final in Milan later on Sunday.