Jake Dennis defeated Prema team-mate Felix Rosenqvist in a race-long duel to win the first European F3 encounter of the weekend at Spielberg.
Having missed out on pole position by just seven thousandths of a second, Dennis got a good launch from second on the grid to out-drag Rosenqvist up the hill to Turn 1, taking the lead down the inside.
The gap between Dennis and Rosenqvist sat under half a second for much of the race, but the Briton responded to an attack from the Swede to extend the gap to 0.7 seconds at one stage.
Rosenqvist suddenly caught Dennis again on the penultimate lap, and third-placed Antonio Giovinazzi was right with the leading pair too going onto the final tour.
Dennis was forced to defend at the start of the lap but Rosenqvist was slow out of Turn 3, allowing Dennis to escape and claim his fifth victory of the season by 0.668 seconds.
Championship leader Giovinazzi finished an extra half a second back after taking third away from Lance Stroll?on the opening lap.
Stroll was able to keep the leading trio relatively in sight throughout, finishing 3.1 seconds behind Dennis as he scored his fifth fourth-place result of his rookie season, still awaiting a maiden podium.
George Russell progressed from seventh to fifth on the opening lap and also finished within four seconds of the winner.
Alex Albon was up to sixth on the first lap with Charles Leclerc down to seventh but the Monegasque driver fought back later on with a pass at Turn 3 to take P6.
From 10th on the grid, Gustavo Menezes finished eighth after a strong race which saw him pass a fast-starting Mikkel Jensen and a slow-starting Sergio Sette Camara, who had to put up with ninth after beginning the race in sixth.
His poor opening lap was nothing compared to that of Motopark team-mate Markus Pommer, who struggled to get moving from ninth on the grid.
After dropping back to 32nd place, the Zandvoort race three winner fought his way through to finish 17th.
On home ground for his backer Red Bull, Callum Ilott was scrapping with Menezes early on for 10th when he pitted for a new front wing.
|1||Jake Dennis||Prema Powerteam||24 laps in 34:20.242|
|2||Felix Rosenqvist||Prema Powerteam||+0.668|
|4||Lance Stroll||Prema Powerteam||+3.139|
|6||Charles Leclerc||Van Amersfoort Racing||+5.298|
|9||Sergio Sette Camara||Motopark||+15.318|
|10||Mikkel Jensen||Mucke Motorsport||+16.244|
|12||Santino Ferrucci||Mucke Motorsport||+21.157|
|15||Alessio Lorandi||Van Amersfoort Racing||+26.819|
|20||Maximilian Gunther||Mucke Motorsport||+37.837|
|21||Arjun Maini||Van Amersfoort Racing||+38.013|
|22||Michele Beretta||Mucke Motorsport||+39.094|
|23||Pietro Fittipaldi||Fortec Motorsports||+41.718|
|24||Andy Chang||Fortec Motorsports||+42.763|
|25||Matt Rao||Fortec Motorsports||+44.991|
|26||Brandon Maisano||Prema Powerteam||+47.100|
|27||Matheus Leist||Double R Racing||+48.259|
|29||Kang Ling||Mucke Motorsport||+50.580|
|32||Peter Li||Fortec Motorsports||+1:07.108|
|Ryan Tveter||Carlin||+9 laps|
|Matt Solomon||Double R Racing||+19 laps|