Yuki Tsunoda secured the top-four position in the FIA Formula 2 Championship he needs to gain enough superlicence points for a Formula 1 graduation with victory in the Bahrain feature race.
The Japanese Red Bull and Honda junior passed future Haas F1 driver Nikita Mazepin with five laps remaining to take the win, but both drop out of title contention going into Sunday's sprint race.
Championship leader Mick Schumacher put in a superb race performance after his dreadful qualifying session to rise from 18th on the grid to seventh, and secured the points for fastest lap, while main title rival and fellow Ferrari protege Callum Ilott finished sixth.
Schumacher was promoted to sixth and Ilott to fifth when Mazepin was given a double post-race time penalty. That means that Ilott effectively has to win the reverse-grid race from fourth on the grid, with Schumacher - who will line up third - out of the points.
Tsunoda appeared to get his Carlin car nicely off pole position, but Mazepin speared his Hitech Grand Prix machine down the inside at Turn 1 to take the lead, and Robert Shwartzman also rounded Tsunoda to insert his Prema Racing car into second.
The leading trio ran closely for 10 laps, before Mazepin pulled out of DRS range of Shwartzman, who was therefore powerless to prevent Tsunoda from passing.
Shwartzman was the first of the top three to get rid of his soft tyres and have the hard Pirellis fitted, with Mazepin pitting one lap later and Tsunoda going one tour further still.
The Carlin man emerged in front, but was passed by Mazepin and then Shwartzman as he got up to speed.
With 13 laps remaining, Tsunoda tried a move on Shwartzman into Turn 1, only for Christian Lundgaard, who had stalled at the start and lost almost a lap, to suddenly appear at the pit exit after making his stop.
Tsunoda had to dart back in behind Shwartzman, before pulling off the move at Turn 4. He was now 1.8 seconds behind Mazepin, but closed the gap to the Russian.
With six laps to go, Mazepin locked up at Turn 1 and Turn 4 to leave himself vulnerable to Tsunoda, who then sliced past on the following tour at Turn 1.
While Shwartzman faded, Felipe Drugovich and Guanyu Zhou had entered the mix at the front.
Drugovich's MP Motorsport car had gone several laps longer than the other leading runners on the softs, so had relatively fresh hard rubber, while Renault F1 Junior Zhou had gone for the alternative strategy in his Virtuosi Racing entry and was now on softs.
Zhou carved his way up to second, and finished just 0.6s adrift of Tsunoda, but a 5s penalty for speeding in the pits meant he would likely not have won even had he passed the Japanese driver.
But Zhou did pull out enough of a margin to keep second, and that was because of a dramatic late battle between Mazepin and Drugovich.
First, Mazepin did an extremely aggressive chop on Drugovich as they raced towards Turn 1 on the final lap, and then he swerved across Drugovich again on the approach to Turn 4 - who then ran through the 150m board.
Mazepin finished third from Drugovich and Shwartzman, but was hit with two five-second time penalties - one for forcing Tsunoda off the track as he lost the lead, and the other for the first swerve on Drugovich - and was relegated to ninth.
Ilott wasn't far adrift to take a corrected fifth with his Virtuosi car, but had struggled to pass Carlin-run Red Bull Junior Jehan Daruvala even with DRS assistance.
Schumacher also got his Prema car ahead of Daruvala on the final lap to be classified sixth, while Dan Ticktum (DAMS) moved up to eighth and reversed-grid pole after Mazepin's penalty. Behind Mazepin, Pedro Piquet (Charouz Racing System) claimed the final point.
It was a race of what might have been for ART Grand Prix ace Lundgaard, who was on the alternative strategy of starting on hard tyres and lined up five places ahead of Zhou.
After his startline stall and his emergence from his late stop, he unlapped himself from the leading contenders and had enough pace to suggest he could have taken victory.
Formula 2 Sakhir feature race results - 48 laps
|3||Felipe Drugovich||MP Motorsport||6.655s|
|4||Robert Shwartzman||Prema Racing||7.438s|
|6||Mick Schumacher||Prema Racing||10.339s|
|9||Nikita Mazepin||Hitech Grand Prix||16.280s|
|10||Pedro Piquet||Charouz Racing System||17.511s|
|11||Marcus Armstrong||ART Grand Prix||17.789s|
|12||Louis Deletraz||Charouz Racing System||19.374s|
|13||Artem Markelov||BWT HWA RACELAB||31.999s|
|14||Ralph Boschung||Campos Racing||34.388s|
|15||Giuliano Alesi||MP Motorsport||35.082s|
|16||Luca Ghiotto||Hitech Grand Prix||38.113s|
|18||Theo Pourchaire||BWT HWA RACELAB||41.719s|
|21||Christian Lundgaard||ART Grand Prix||59.292s|
|22||Guilherme Samaia||Campos Racing||1 Lap|