Alpine junior Victor Martins battled past pole-sitter Franco Colapinto to claim victory in the first F3 feature race of the season before holding off charging runner-up Arthur Leclerc.
Van Amersfoort's Colapinto held onto the lead through a chaotic start as behind him multiple drivers tripped over one another, resulting in retirements for Zane Maloney, Francesco Pizzi and Caio Collet, leading to the deployment of the safety car.
When the race resumed, Colapinto delayed his getaway, leaving Roman Stanek's Trident behind as the Czech driver was passed for second by the ART Grand Prix of Martins.
Stanek's misery was then compounded further as he picked up a puncture in a collision with the MP Motorsport of Alexander Smolyar.
Following a brief VSC, Colapinto again held the lead from the restart ahead of Martins while Juan Manuel Correa battled his ART Grand Prix into P3 as he passed Smolyar, who then lost out to the charging PREMA of Leclerc.
Sprint race winner Isack Hadjar then became the second driver to pick up a puncture from Smolyar, and although he managed to return to the pits for a change of tyres, it naturally left him with no chance of adding to his earlier triumph.
With eight laps remaining, Martins made what proved to be the race-winning move on Colapinto who went on to drop off the podium after collecting a five-second time penalty for exceeding track limits.
Leclerc followed Martins home for P2 after charging through the field from 13th on the grid, while the ART Grand Prix of Gregoire Saucy benefitted from Colapinto's penalty to claim the final podium place.
Bahrain F3 feature race results
1. Victor Martins [ART Grand Prix] 46:47.389
2. Arthur Leclerc [PREMA] +1.543
3. Gregoire Saucy [ART Grand Prix] +6.812
4. Juan Manuel Correa [ART Grand Prix] +9.084
5. Franco Colapinto [Van Amersfoort] +11.193
6. Oliver Bearman [PREMA] +14.582
7. Jak Crawford [PREMA] +18.765
8. David Vidales [Campos] +23.004
9. William Alatalo [Jenzer] +23.665
10. Kaylen Frederick [Hitech] +23.843
11. Jonny Edgar [Trident] +26.906
12. Rafael Villagomez [Van Amersfoort] +28.274
13. Pepe Marti [Campos] +30.194
14. Hunter Yeany [Campos] +33.297
15. Niko Kari [Jenzer] +35.044
16. Ido Cohen [Jenzer] +35.068
17. Kush Maini [MP Motorsport] +35.111
18. Reece Ushijima [Van Amersfoort] +35.790
19. Zak O’Sullivan [Carlin] +36.274
20. Ayrton Simmons [Charouz] +36.792
21. Brad Benavides [Carlin] +38.167
22. Roman Stanek [Trident] +38.303
23. Alexander Smolyar [MP Motorsport] +38.795
24. Laszlo Toth [Charouz] +39.952
25. Isack Hadjar [Hitech] +49.781
26. Enzo Trulli [Carlin] +1:46.611
27. Nazim Azman [Hitech] DNF
28. Caio Collet [MP Motorsport] DNF
29. Zane Maloney [Trident] DNF
30. Francesco Pizzi [Charouz] DNF