The Jenzer Motorsport driver, who lined up 10th for Sunday’s race, took advantage of starting on wets on the damp track as the leaders ran on slicks to make huge moves on the first lap.
He was running second by lap three behind Paul Aron, who started 11th, before the Prema driver pitted for slick tyres.
This handed Barnard the lead, and despite a strong challenge from Christian Mansell (Campos), who had started 23rd, the Briton held on to take his second podium of the weekend.
Nikita Bedrin completed the podium for Jenzer, taking his second rostrum in as many rounds, ahead of team-mate Alex Garcia in fourth to see all three Jenzer cars in the top four.
It was a disappointing race for the title contenders, all of whom started on the slick tyres bar Aron, who finished eighth after the pit gamble failed to pay off.
Poleman Pepe Marti struggled in his Campos-run car, finishing ninth, while championship leader Gabriel Bortoleto finished 11th for Trident ahead of Zak O’Sullivan (Prema) in 12th.
The race, which was shortened from 18 to 15 laps ahead of the weekend, started behind the safety car amid damp conditions after Gabriele Mini (Hitech) crashed on his way to the grid.
Aron immediately made a charge on the wet tyres, firing up the inside of La Source to clear three cars before making it past Trident’s Leonardo Fornaroli and Marti for the lead on the Kemmel Straight.
The frontrunners quickly dropped back, allowing the likes of all three Jenzers, Mansell, Sebastian Montoya (Hitech) and PHM’s Sophia Floersch, who lined up 24th before a fierce charge, to take advantage.
The safety car was deployed on lap four after Trident driver Oliver Goethe had a big smash out of Eau Rouge, with Aron stopping for the slick tyres in an early gamble, handing the lead to Barnard.
Racing resumed on lap eight, with Saturday sprint winner Caio Collet (Van Amersfoort Racing) taking ninth at Turn 1 before passing MP driver Mari Boya for eighth along the Kemmel Straight.
Source: Autosport