Ferrari and SMP Racing junior driver Robert Shwartzman took his second win of the FIA Formula 3 season in the Paul Ricard reversed-grid race, despite starting seventh.
Polesitter and Campos Racing driver Alex Peroni kept fellow front-row starter Yuki Tsunoda - who had driven from 26th to seventh the day before - at bay in the early stages, with a five-car train pushing clear of the rest of the pack.
Shwartzman joined that train and quickly passed HWA's Bent Viscaal and Trident's Pedro Piquet to run third behind the front-row starters.
But on lap nine of 20, he pulled off the overtake of the season so far, passing the battling Peroni and Tsunoda with a double-tow into the braking zone at Turn 8.
Shwartzman was almost wiped out completely, as Tsunoda shoved Peroni off the track, forcing Peroni to cannon straight on and miss the corner.
Peroni was on the inside and Shwartzman on the outside, so Peroni almost drove into Shwartzman at the turn-in of the corner, but narrowly avoided him.
While the five cars battled up front, Saturday's feature race winner Jehan Daruvala - who didn't have the best of starts to the race and ran as low as ninth - was able to hone in and pick off the drivers ahead to put himself in contention for a double victory.
He moved past Piquet for second on lap 15 at Turn 8, and began the task of reeling in his Prema team-mate Shwartzman.
But the Russian driver identified the threat and turned on the jets, to maintain Prema's 100% win record in FIA F3 this season with a 1.4-second victory that leaves him with a 12-point championship lead over Daruvala.
Instead of moving forward, Daruvala went back on the penultimate lap as he was re-passed by Piquet, Daruvala appearing to struggle with his tyres late on.
Behind him on the road was Jenzer Motorsport's Tsunoda, but he had a penalty for the Peroni incident and fell out of the points places.
Tsunoda's early rival Peroni also dropped out of the points to 14th, seemingly ruining his tyres in those early exchanges - as did a number of other drivers, which created a frenetic last two laps.
Richard Verschoor showed more of the form that characterised the latter part of last year's GP3 season, taking fourth from 14th on the grid thanks to Tsunoda's penalty.
He had to pass his MP Motorsport team-mate and Red Bull junior Liam Lawson, who scored his first top 10 with sixth, after a late penalty for causing a collision with David Beckmann.
But, after the race, the five-second penalty was dropped and Lawson was promoted to fifth ahead of the driver of the race, Marcus Armstrong.
The third Prema driver Armstrong dropped to 26th from third on the grid, but fought all the way back through the field and finished an incredible sixth after all the penalties were applied, in a race with no pitstops or safety cars.
Jake Hughes scored points with seventh from 25th on the grid, after crashing out of race one, which he started from pole the day before.
Logan Sargeant of Carlin took the final points in eighth, ahead of Tsunoda and the second Carlin home of Felipe Drugovich.
Result - 20 laps
|1||Robert Shwartzman||Prema Racing||38m04.147s|
|3||Jehan Daruvala||Prema Racing||2.849s|
|4||Richard Verschoor||MP Motorsport||8.300s|
|5||Liam Lawson||MP Motorsport||11.233s|
|6||Marcus Armstrong||Prema Racing||15.141s|
|9||Yuki Tsunoda||Jenzer Motorsport||22.906s|
|11||Andreas Estner||Jenzer Motorsport||25.675s|
|12||Leonardo Pulcini||Hitech GP||25.918s|
|14||Alex Peroni||Campos Racing||30.323s|
|15||Christian Lundgaard||ART Grand Prix||31.441s|
|17||Juri Vips||Hitech GP||32.599s|
|18||Max Fewtrell||ART Grand Prix||33.958s|
|22||Yifei Ye||Hitech GP||1m06.052s|
|23||Alessio Deledda||Campos Racing||1m48.973s|
|24||Niko Kari||Trident||2 Laps|
|-||Simo Laaksonen||MP Motorsport||Retirement|
|-||Sebastian Fernandez||Campos Racing||Retirement|
|-||David Beckmann||ART Grand Prix||Retirement|