The Prema Racing driver snatched the lead at Turn 1 having started in third, and despite multiple challenges from the Charouz driver, stayed in front to take the chequered flag.
Sargeant kept second, where he started, to take his third podium of the year, while Ayumu Iwasa took the third step of the podium for Hitech Grand Prix.
Team-mate Jak Crawford finished in fourth, having become the youngest-ever F3 podium finisher last weekend at Spa, while MP Motorsport’s Caio Collet finished in fifth.
Championship rivals Jack Doohan and Dennis Hauger finished in sixth and seventh respectively, having started ninth and 12th.
Sargeant had looked set to take the lead off the line after getting a great start, but Leclerc managed to sweep around the outside of Turn 1 to take the lead, with Iwasa up into third.
Polesitter Amaury Cordeel (Campos Racing) was spun round after Alexander Smolyar caught his rear-left wheel, plunging him down the running order and giving the ART Grand Prix driver a 10-second stop-and-go penalty. He was served that penalty when he was forced to pit under black and orange flags to change his damaged front wing.
Later in the lap, HWA Racelab’s Oliver Rasmussen and Calan Williams (Jenzer) went off across the gravel, while Zdenek Chovanec also went wide into the run-off in his second F3 round for Charouz.
By lap four, Sargeant was sitting just two-tenths behind Leclerc, and with DRS enabled looked likely to pass.
But he continued to play it safe, despite edging ever closer to the race leader, who was not helped in his efforts by a lock-up into Turn 1 on lap seven.
By the following lap, the leading duo’s battle allowed Iwasa, Crawford and Collet to close in, making the two-car duel into a five-way fight.
A reasonable amount of gravel had built up on Turns 11 and 12 by the halfway point, as happened in yesterday’s qualifying session, which was paused for stewards to brush away the debris.
Olli Caldwell (Prema) made an impressive move up the inside of Campos’ Lorenzo Colombo into 11th place on lap 12.
Having taken the fastest lap in his bid to charge through the field, Hauger went into the gravel around the outside of the chicane while attempting to take seventh from Victor Martins (MP Motorsport), dropping two places and bringing a considerable amount of gravel back on track upon his return.
Despite the intense pressure from Sargeant, Leclerc clung onto his lead into lap 16.
The safety car was deployed with seven laps to go after Jenzer’s Johnathan Hoggard and Hunter Yeany collided and ended up in the barriers. The pair made contact into Turn 1, with Yeany hitting Hoggard from the right and sending him into the wall, ending his race, while the Charouz driver suffered a puncture and ended up in the wall nose-first at Turn 2.
The marshals used the break in action to clear some of the gravel which various excursions into the run-off had dragged onto the racing line.
Racing resumed on lap 21, with Sargeant and Iwasa racing side-by-side, allowing Leclerc to cling onto his lead and break away from the battling pair behind him.
With three laps to go, Hauger tussled with Martins once again for seventh, the championship leader eventually emerging in front after a close battle through Turns 2 and 3.
On the final lap, Crawford and Collet tussled for fourth, but the American managed to hold his position to cross the line ahead.
Carlin’s Ido Cohen will start on pole for this afternoon’s reverse-grid sprint race, with Clement Novalak (Trident) in second and Caldwell in third.
FIA F3 Zandvoort – Race 1 results – 24 laps