Sauber Academy driver Theo Pourchaire emerged from a chaotic F2 feature race in Bahrain to claim his third career victory in the series.
ART driver Pourchaire led home Carlin's Liam Lawson at the chequered flag, while Hitech's Juri Vips recovered from early issues to clinch the final podium place.
At the start, Alpine junior and pole-sitter Jack Doohan made a slow getaway that saw him lose out to Vips and Campos' Ralph Boschung, while Pourchaire also dropped from second on the grid to fourth.
The first safety car was deployed on only lap two as Mercedes junior Frederik Vesti span at turn one and was unable to resume in his ART.
At the restart, Vips went early and caught Boschung napping as he fell into the clutches of Doohan as the Virtuosi reclaimed second place. Pourchaire followed Doohan past Boschung, dropping the Campos out of the podium places.
Vips' chances of victory were then dealt a cruel blow after a botched pit stop dropped the Red Bull junior down the order and out of podium contention, while Doohan also has his chances ended by contact with Pourchaire.
The safety car was called upon again after the Charouz of Enzo Fittipaldi tipped sprint race winner Richard Verschoor into a spin at turn one, which led to further drama in the pit lane.
Trying to take advantage of a safety car pit stop, the PREMA of Dennis Hauger came in but left his pit box with his front-left wheel unattached, sending the tyre down the pit lane.
Remarkably, the same fate at the same time befell the Trident of Calan Williams, forcing both to retire.
Pourchaire then held the lead on the restart with one lap remaining and was able to fend off Lawson and Vips.
Bahrain F2 feature race results
1. Theo Pourchaire [ART] 1:01.54.454
2. Liam Lawson [Carlin] +0.925
3. Juri Vips [Hitech] +1.714
4. Ralph Boschung [Campos] +3.863
5. Marcus Armstrong [Hitech] +4.606
6. Felipe Drugovich [MP Motorsport] +5.722
7. Logan Sargeant [Carlin] +6.539
8. Roy Nissany [DAMS] +7.256
9. Jake Hughes [Van Amersfoort] +8.008
10. Jack Doohan [Virtuosi] +8.854
11. Enzo Fittipaldi [Charouz] +10.074
12. Marino Sato [Virtuosi] +11.353
13. Amaury Cordeel [Van Amersfoort] +12.704
14. Jehan Daruvala [PREMA] +14.361
15. Cem Bolukbasi [Charouz] +15.965
16. Ayumu Iwasa [DAMS] +31.170
17. Olli Caldwell [Campos] +1 lap
18. Calan Williams [Trident] +4 laps
19. Dennis Hauger [PREMA] +4 laps
20. Richard Verschoor [Trident] DNF
21. Clement Novalak [MP Motorsport] DNF
22. Frederik Vesti [ART Grand Prix] DNF