Maximilian Gunther became the third different race winner of the European Formula 3 Paul Ricard opener after leading every lap of Race 3.
Unlike yesterday, when he had bogged down dramatically off the line, Gunther had a good getaway and was into the lead, quickly building a gap of a second over Cassidy.
The Prema duo were soon joined rookie by Joel Eriksson, the Swede pulling off a couple of overtakes on Ralf Aron and Mikkel Jensen.
However, Eriksson was unable to disrupt the Prema 1-2, despite putting some pressure on Cassidy for a handful of laps.
Instead, Cassidy then caught up with Gunther in the final laps and tried a last-ditch effort at the very last turn of the race, lunging to the inside of Gunther.
That forced Gunther to run wide but the German kept his foot on the gas pedal and still made it home in first.
Having failed to keep up with the leading trio, Jensen spent the majority of the race holding off Lance Stroll and Harrison Newey, the Williams-bound Canadian settling for fifth.
Newey was also set to take sixth but came under pressure from Van Amersfoort teammate Anthoine Hubert.
The duo went side-by-side into a left-hander and collided, Newey spinning out.
Hubert finished a provisional sixth, with Aron settling for seventh despite running fourth during the early laps.
Motopark's Guan Yu Zhou, Carlin's Alessio Lorandi and top Hitech driver Nikita Mazepin completed the top 10.
George Russell, who started last after his exclusion from qualifying, made up several places at the start but was forced to pit with front wing damage.
Race 3 results
|1||Maximilian Gunther||Prema Powerteam||-|
|2||Nick Cassidy||Prema Powerteam||0.251|
|4||Mikkel Jensen||kfzteile24 Mucke Motorsport||10.128|
|5||Lance Stroll||Prema Powerteam||10.827|
|6||Anthoine Hubert||Van Amersfoort Racing||11.062|
|7||Ralf Aron||Prema Powerteam||13.574|
|8||Guan Yu Zhou||Motopark||14.300|
|12||Callum Ilott||Van Amersfoort Racing||22.546|
|14||Harrison Newey||Van Amersfoort Racing||26.584|
|16||Arjun Maini||ThreeBond with T-Sport||32.971|
|17||Zhi Cong Li||Carlin||42.422|
|19||Sergio Sette Camara||Motopark||2 Laps|
|Ret||Pedro Piquet||Van Amersfoort Racing|